2013-09-25 10 views
6

Ich versuche, eine Image-Verknüpfung mit dem HTML-Helper von Laravel 4 zu erstellen. Aber es scheint, dass das nicht wirklich funktioniert. Ich habe diese Zeile CodeErstellen von Image-Link mit HTML-Helper

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

Aber das gibt nur einen strin wie folgt aus:.

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

Wie kommen ??

+0

In Laravel {{$ string}} gibt eine „sichere“ string wo html Symbole wie < and > sind codiert. Versuchen Sie es mit {!! $ string !!}, um die Codierung bei Bedarf zu vermeiden. Sehen Sie mehr hier: http://stackoverflow.com/questions/29253979/laravel-5-display-html-with-blade –

Antwort

13

Sie werden wahrscheinlich müssen:

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

Da, link() Einheiten den Titel zu entkommen verwendet:

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>'; 
} 

diesen Quellcode Producing:

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

Ich denke, es ist grundlos übertrieben. ich tun würde:

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

Wenn ich dann eine dynamische Verknüpfung anstelle des # brauchen, ich tun würde:

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

Try html so viel wie möglich zu verwenden.

7

Sie könnten auch html_entity_decode verwenden, um Ihren Code zu erhalten arbeiten

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

Ausgezeichnet! Das hat den Trick für mich gemacht, als ich versucht habe, das Glyphicon des Bootstrap zu verwenden, zB in {{html_entity_decode (Menu :: item ('home', Home '))}} ' – Pathros

+1

Dies scheint der "Laravelish" -Ansatz zu sein? Sie könnten den obigen Code auch in eine benutzerdefinierte Hilfsfunktion einbetten, um ihn zu bereinigen. – PeterG

0

Zusätzliche Antwort korrigieren können Sie auch einige Attribute wie Höhe und Breite

<a href="#">{{ HTML::image("img/logo.png", "Logo",array('height'=>'100','width'=>'100')) }}</a> 
0
\Html::tag('a', \Html::image('image path')->toHtml(), ['href' => 'link']);
+1

Danke Anton und willkommen bei StackOverflow. Kannst du deine Antwort erklären oder ein bisschen mehr Details hinzufügen? Auf diese Weise wird Ihre Antwort für Menschen nützlicher sein (und Upvotes erhalten) – goto

0

HTML hinzufügen Helfer wurde aus Laravel 5

entfernt

jetzt konnte man einfache Verwendung dieses

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

Dieser Vermögenswert von Standardpunkt für die öffentliche Ordner Ihrer Larven Anwendung