web-dev-qa-db-fra.com

Création d'un lien d'image avec HTML Helper

J'essaie de créer un lien d'image avec l'aide HTML de Laravel 4. Mais il semble que cela ne fonctionne pas vraiment. J'ai cette ligne de code

{{ HTML::link("#", HTML::image("img/logo.png", "Logo") ) }}

Mais cela ne fait que produire une chaîne comme celle-ci:

<img src="http://localhost/worker/public/img/logo" alt="Logo">

Comment venir.??

7
mXX

Vous devrez probablement:

<a href="#">{{ HTML::image("img/logo.png", "Logo") }}</a>

Parce que link () utilise des entités pour échapper au titre:

public function link($url, $title = null, $attributes = array(), $secure = null)
{
    $url = $this->url->to($url, array(), $secure);

    if (is_null($title) or $title === false) $title = $url;

    return '<a href="'.$url.'"'.$this->attributes($attributes).'>'.$this->entities($title).'</a>';
}

Produire ce code source:

"<a href="#">&lt;img src=&quot;http://localhost/img/logo.png&quot; alt=&quot;Logo&quot;&gt;</a>"
13

Je pense que c'est exagéré sans raison. Je ferais:

<a href="#"><img src={{asset('img/logo.png')}} alt="Logo"></a>

Si j’ai alors besoin d’un lien dynamique à la place du #, je ferais:

<a href="{{URL::to('/')}}"><img src={{asset('img/logo.png')}} alt="Logo"></a>

Essayez d'utiliser le langage HTML autant que vous le pouvez.

34
kJamesy

Vous pouvez également utiliser html_entity_decode pour que votre code fonctionne

{{ html_entity_decode( HTML::link("#", HTML::image("img/logo.png", "Logo") ) ) }}
7
Greg

L'assistant HTML a été supprimé de Laravel 5

maintenant vous pouvez simplement utiliser ceci

<img src="{{ asset('logo.png') }}" alt="logo">

Cet actif, par défaut, pointe vers le dossier public de votre application larvaire

2
Shubham Bansal
\Html::tag('a', \Html::image('image path')->toHtml(), ['href' => 'link']);
0
Anton

Supplémentaire pour corriger la réponse, vous pouvez également ajouter des attributs tels que height et width

<a href="#">{{ HTML::image("img/logo.png", "Logo",array('height'=>'100','width'=>'100')) }}</a>
0
ErcanE