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.??
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="#"><img src="http://localhost/img/logo.png" alt="Logo"></a>"
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.
Vous pouvez également utiliser html_entity_decode pour que votre code fonctionne
{{ html_entity_decode( HTML::link("#", HTML::image("img/logo.png", "Logo") ) ) }}
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
\Html::tag('a', \Html::image('image path')->toHtml(), ['href' => 'link']);
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>