在HTMTL中使用html标签:: link_to_route()

时间:2013-02-12 14:09:48

标签: html routes laravel

在Laravel中,如何通过HTML::link_to_route()链接到路线时如何使用html-tag?

我的例子:

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

7 个答案:

答案 0 :(得分: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;
}

答案 1 :(得分:5)

这样的事情怎么样?

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

如果您正在使用“Font Awesome”,那么只需将该类添加到锚标记就可以解决大多数情况,因为“Icon类通过CSS回显:之前”。您可能需要对CSS进行一些调整;但在语义标记方面可能会更好。

答案 2 :(得分:2)

<a href="{{ URL::route('empdelete', array('id' => $employee->id)) }}">
        <img src="{{ asset('images/tick-red.jpg') }}" alt="DRC" id="DRCS-logo" /></a>

答案 3 :(得分:1)

你不能拥有HTML::....(类)的HTML标记,在文档中他们说作为参数传递给类的任何东西都使用HTML实体函数进行转义,以使前端更安全! / p>

答案 4 :(得分:0)

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

Using con As New SqlConnection("server=BOYAN\SQLEXPRESS; Initial Catalog=GipDatabase; Integrated Security=true;")
    Dim sql = "INSERT INTO TblReserveren(Filmnaam,datum, tijd, Aantalvolwassenen, Aantalkinderen, TypeZaal, Prijs, GebruikerID) Values(@Filmnaam, @datum, @tijd, @Aantalvolwassenen, @Aantalkinderen, @TypeZaal, @prijs, (SELECT ID FROM TblGebruiker WHERE Username = @Username))"
    Using cmd As New SqlCommand(sql, con)

        'TODO: Set the .SqlDbType and .Size to match the columns in the database. '
        cmd.Parameters.Add(New SqlParameter With {.ParameterName = "@Filmnaam", .SqlDbType = SqlDbType.NVarChar, .Size = 100, .Value = CStr(Session("filmnaam"))})
        cmd.Parameters.Add(New SqlParameter With {.ParameterName = "@datum", .SqlDbType = SqlDbType.DateTime, .Value = CDate(Session("datum"))})
        cmd.Parameters.Add(New SqlParameter With {.ParameterName = "@tijd", .SqlDbType = SqlDbType.NVarChar, .Size = 100, .Value = CStr(Session("tijd"))})
        cmd.Parameters.Add(New SqlParameter With {.ParameterName = "@Aantalvolwassenen", .SqlDbType = SqlDbType.NVarChar, .Size = 100, .Value = CStr(Session("AantalVol"))})
        cmd.Parameters.Add(New SqlParameter With {.ParameterName = "@Aantalkinderen", .SqlDbType = SqlDbType.NVarChar, .Size = 100, .Value = CStr(Session("Aantalkin"))})
        cmd.Parameters.Add(New SqlParameter With {.ParameterName = "@TypeZaal", .SqlDbType = SqlDbType.NVarChar, .Size = 100, .Value = CStr(Session("Zaaltype"))})
        cmd.Parameters.Add(New SqlParameter With {.ParameterName = "@prijs", .SqlDbType = SqlDbType.Decimal, .Value = CDec(Session("prijs"))})
        cmd.Parameters.Add(New SqlParameter With {.ParameterName = "@Username", .SqlDbType = SqlDbType.NVarChar, .Size = 100, .Value = CStr(Session("Username"))})

        con.Open()
        cmd.ExecuteNonQuery()
        con.Close()
    End Using
End Using

答案 5 :(得分:0)

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

这对我有用:

<li>
    {{ HTML::link_to_route( "books_new", "New Book", null, ['class' => 'fa fa-edit'] ) }}
</li>

答案 6 :(得分:-1)

据我所知,Laravel不允许你这样做。对我而言,这似乎超出了标准。

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

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

可替换地:

  1. span标记
  2. 中插入li标记
  3. icon-book类分配给li代码