2013-09-25 14 views
6

Sto cercando di creare un collegamento immagine con l'helper HTML di Laravel 4. Ma sembra che non funzioni davvero. Ho questa riga di codiceCreazione del collegamento immagine con HTML Helper

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

Ma che appena uscite un ela come questo:

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

Come mai ??.

+0

In laravel {{$ string}} genera una stringa "sicuro" dove i simboli html come < and > sono codificato. Prova a usare {!! $ string !!} per evitare la codifica quando necessario. Vedi di più qui: http://stackoverflow.com/questions/29253979/laravel-5-display-html-with-blade –

risposta

13

Probabilmente sarà necessario:

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

Perché, collegamento() utilizza le entità di sfuggire il titolo:

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

produzione di questo codice sorgente:

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

penso è eccessivo, senza motivo. vorrei fare:

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

Se poi bisogno di un collegamento dinamico al posto del #, vorrei fare:

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

tenta di utilizzare HTML come più possibile.

7

Si potrebbe anche usare html_entity_decode per ottenere il codice di lavoro

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

Eccellente! Questo ha fatto il trucco per me quando ho provato ad usare il glyphicon di bootstrap come in '{{html_entity_decode (Menu :: item ('home', ' Home'))}}' – Pathros

+1

Questo sembra essere l'approccio più "Laravelish"? È anche possibile avvolgere il codice sopra in una funzione di supporto personalizzata per ripulirlo. – PeterG

0

aggiuntive per correggere risposta inoltre è possibile aggiungere un po 'attributo come altezza e larghezza

<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

Grazie Anton e benvenuto su StackOverflow. Puoi spiegare la tua risposta o aggiungere qualche dettaglio in più? In questo modo la tua risposta sarà più utile per le persone (e ottenere upvotes) – goto

0

HTML helper è stato rimosso da Laravel 5

ora è possibile utilizzare semplici questo

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

Questa risorsa per punto predefinito cartella pubblica dell'applicazione larvale

Problemi correlati