2

在 Laravel 中,如何在通过 链接到路由时使用 html-tags 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

我知道这不是您想听到的答案 - 但您不能通过 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 回答
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 回答
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

您不能使用HTML::....(class) 进行 HTML 标记,在文档中他们说作为参数传递给类的任何内容都使用 HTML 实体函数进行转义,以使前端更安全!

于 2013-02-12T14:16:21.093 回答
0

您可以使用此代码在 Laravel Blade 模板中包含字体真棒或图标,我已经使用并完美运行。

<a href="{{ route('member.edit',$data->id) }}"><i class="fa fa-pencil-square-o" aria-hidden="true"></i>Edit</a>
于 2016-05-27T19:30:53.267 回答
0

如果您使用的是“Font Awesome”,那么在大多数情况下,只需将类添加到某人提到的锚标记就可以了,因为“图标类通过 CSS :before 回显”。

所以这对我有用:

<li>
    {{ HTML::link_to_route( "books_new", "New Book", null, ['class' => 'fa fa-edit'] ) }}
</li>
于 2019-09-20T16:49:18.273 回答
-1

据我所知,Laravel 不允许你这样做。在我看来,这似乎不合标准。

相反,将一个名为的类icon-book应用于您的锚标记,然后使用该类将图标作为“背景图像”放入锚中。

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 回答