2

Laravel では、経由でルートにリンクするときに html タグを使用するにはどうすればよいHTML::link_to_route()ですか?

私が持っているものの例:

<li>
    {{ HTML::link_to_route( "books_new", "New Book" ) }}
</li>

私がしたいこと:

<li>
    {{ HTML::link_to_route( 
"books_new", 
"<span class='icon-book'></span>New Book" 
    ) }}
</li>
4

7 に答える 7

5

このようなものはどうですか?

<li>
    <a href="{{ URL::to_route('books_new') }}"><span class='icon-book'></span>New Book</a>
</li>

「Font Awesome」を使用している場合は、誰かが言及したようにクラスをアンカータグに追加するだけで、ほとんどの場合、「アイコンクラスは CSS :before を介してエコーされる」ため問題ありません。CSS を少し調整する必要があるかもしれません。ただし、セマンティック マークアップの点では優れている可能性があります。

于 2013-02-13T05:11:34.067 に答える
5

これが聞きたい答えではないことはわかっていますが、link_to_route 経由で html を渡すことはできません。

問題は、HTML クラスからの出力が自動的にエスケープされることです。したがって、これを渡そうとすると:

{{ HTML::link_to_route('author','<img src="'.URL::base().'assets/images/image.jpg" alt="icon" />')) }}

次のようになります。

&lt;img src=&quot;http://laravel3.dev/assets/images/image.jpg&quot; alt=&quot;icon&quot; /&gt;

これは画面上のテキストのみで、画像はありません。URI::to_route('author')代わりに、自分でリンクを使用して生成する必要があります。したがって、ヘルパーを次のようにします (テストされていません)。

function link_to_route_image($route, $image)
{
   $m = '<a href="'.URL::to_route($route).'">'
      . '<img>'.$image.'</img>'
      . '</a>';
   return $m;
}
于 2013-02-12T14:58:04.530 に答える
2
<a href="{{ URL::route('empdelete', array('id' => $employee->id)) }}">
        <img src="{{ asset('images/tick-red.jpg') }}" alt="DRC" id="DRCS-logo" /></a>
于 2013-11-04T11:25:58.067 に答える
1

(class)を使用して HTML マークアップを使用することはできませんHTML::....。ドキュメントでは、クラスにパラメーターとして渡されるものはすべて、フロントエンドをより安全にするために HTML エンティティ関数でエスケープされると書かれています。

于 2013-02-12T14:16:21.093 に答える
-1

私の知る限り、Laravel はそれを許可していません。私には、それは規格外のようです。

むしろ、icon-bookアンカー タグに呼び出されるクラスを適用し、そのクラスを使用してアイコンをアンカー内に 'background-image` として配置します。

HTML::link_to_route('books_new', 'New Book', array('class' => 'icon-book'))

または:

  1. spanタグの中にliタグを挿入する
  2. icon-bookクラスをliタグに割り当てる
于 2013-02-12T14:22:05.103 に答える