在 HTMTL::link_to_route() 中使用 html-tags
Posted
技术标签:
【中文标题】在 HTMTL::link_to_route() 中使用 html-tags【英文标题】:Using html-tags within HTMTL::link_to_route() 【发布时间】:2013-01-27 20:56:50 【问题描述】:在 Laravel 中,如何在通过 html::link_to_route()
链接到路由时使用 html-tags?
我所拥有的示例:
<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>
【问题讨论】:
【参考方案1】:我知道这不是您想听到的答案 - 但您不能通过 link_to_route 传递 html。
问题是 HTML 类的输出被自动转义了。所以如果你试图通过这个:
HTML::link_to_route('author','<img src="'.URL::base().'assets/images/image.jpg" />'))
结果是这样的:
<img src="http://laravel3.dev/assets/images/image.jpg" alt="icon" />
这将只是屏幕上的文本 - 没有图像。相反,您需要使用URI::to_route('author')
并自己生成链接。所以做一个这样的助手(未测试):
function link_to_route_image($route, $image)
$m = '<a href="'.URL::to_route($route).'">'
. '<img>'.$image.'</img>'
. '</a>';
return $m;
【讨论】:
谢谢,这很有帮助!我现在使用<a href=" URL::to_route( "books_new" ) "><span class="icon-book"></span>New Book</a>
。
我正在寻找类似的东西,并认为这应该基于 link_to_route 组合和 URL::to_route 工作。但事实并非如此。看起来他们在新版本中更新了这个,所以现在正确的解决方案是这样的 URL::route('profile.show', ['profile' => Auth::user()->username]) 例如,此链接指向用户个人资料,但 to_route 仅在路由中更改。【参考方案2】:
这样的事情怎么样?
<li>
<a href=" URL::to_route('books_new') "><span class='icon-book'></span>New Book</a>
</li>
如果您使用的是“Font Awesome”,那么在大多数情况下,只需将类添加到锚标记就可以了,因为“图标类通过 CSS :before 回显”。您可能需要对 CSS 进行一些调整;但在语义标记方面可能会更好。
【讨论】:
【参考方案3】:<a href=" URL::route('empdelete', array('id' => $employee->id)) ">
<img src=" asset('images/tick-red.jpg') " id="DRCS-logo" /></a>
【讨论】:
【参考方案4】:您不能使用 HTML::....
(class) 进行 HTML 标记,在文档中他们说作为参数传递给类的任何内容都使用 HTML 实体函数进行转义,以使前端更安全!
【讨论】:
【参考方案5】:您可以使用此代码在 Laravel Blade 模板中包含字体真棒或图标,我已经使用并完美运行。
<a href=" route('member.edit',$data->id) "><i class="fa fa-pencil-square-o" aria-hidden="true"></i>Edit</a>
【讨论】:
【参考方案6】:如果您使用的是“Font Awesome”,那么在大多数情况下,只需将类添加到某人提到的锚标记就可以了,因为“图标类通过 CSS :before 回显”。
所以这对我有用:
<li>
HTML::link_to_route( "books_new", "New Book", null, ['class' => 'fa fa-edit'] )
</li>
【讨论】:
【参考方案7】:据我所知,Laravel 不允许你这样做。对我来说,这似乎不合标准。
相反,将一个名为icon-book
的类应用到您的锚标记,然后使用该类将图标作为“背景图像”放入您的锚中。
HTML::link_to_route('books_new', 'New Book', array('class' => 'icon-book'))
或者:
-
在
li
标签内插入span
标签
将icon-book
类分配给li
标签
【讨论】:
此外,为了方便起见,请注意新的 Laravel 4(目前处于测试阶段)已取消对HTML
类的支持。他们这样做是有原因的。尽管如此,如果您在升级到 Laravel 4 时仍想使用它,Packagist 上有一些软件包。以上是关于在 HTMTL::link_to_route() 中使用 html-tags的主要内容,如果未能解决你的问题,请参考以下文章
NOIP 2015 & SDOI 2016 Round1 & CTSC 2016 & SDOI2016 Round2游记