web-dev-qa-db-ja.com

HTMLヘルパーを使用した画像リンクの作成

Laravel 4のHTMLヘルパーを使用して画像リンクを作成しようとしていますが、実際には機能していないようです。このコード行があります

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

しかし、それは次のようなストリンを出力するだけです。

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

どうして。??

7
mXX

あなたはおそらくする必要があります:

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

Link()はエンティティを使用して、タイトルをエスケープするためです。

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

このソースコードの作成:

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

理由もなくやり過ぎだと思います。私はします:

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

#の代わりに動的リンクが必要な場合は、次のようにします。

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

できるだけhtmlを使用するようにしてください。

34
kJamesy

Html_entity_decodeを使用してコードを機能させることもできます

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

HTMLヘルパーはLaravel 5から削除されました

今、あなたはこれを簡単に使うことができます

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

このアセットは、デフォルトで幼虫アプリケーションのパブリックフォルダを指します

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

正解に加えて、高さなどの属性を追加することもできます

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