Laravel 4.1 Request ::用于活动菜单不起作用

时间:2013-12-27 21:23:13

标签: php laravel-4

我正在尝试根据laravel 4.1中的路线激活菜单,我的尝试:

<li
   {{{ (Request::is('/core') ? 'class="active"' : '') }}}><a href="{{{ URL::to('/core') }}}">Control Panel</a>
</li>

我的路线:

 Route::get('/core', 'CoreController@Showindex');

这并不是简单地忽略任何错误。任何帮助表示赞赏。

4 个答案:

答案 0 :(得分:9)

在Laravel 4.2中:

按名称:

<li class="{{ Route::is('user') ? 'active' : ''}}">Profile</li>

router.php

Route::get('/user/{id}', ['as' => 'user', 'uses' => 'UserController@profile']);

按网址:

<li class="{{ Request::is('user/*') ? 'active' : '' }}">Profile</li>

答案 1 :(得分:8)

更改为:

<li
   {{{ (Request::is('/core') ? 'class=active' : '') }}}><a href="{{{ URL::to('/core')  }}}">Control Panel</a>
</li>

'class="active"''class=active'

这适用于<li>代码,但不适用<a>代码,需要像这样使用:

<a href="{{{ URL::to('core') }}}" class="list-group-item {{{ (Request::is('core') ? 'active' : '') }}}">Overview</a>

答案 2 :(得分:6)

你可以像艾哈迈德·西亚尼那样说,如果你使用真正的网址就使用请求,或者如果你使用路线,你可以这样做:

class="{{ URL::route('my.route') === URL::current() ? 'active' : '' }}"

答案 3 :(得分:3)

您正在使用三重括号{{{ }}}语法,这会导致任何输出自动转义为HTML实体。这会弄乱你的输出(HTML属性不应该被转义)。

在输出用户生成的数据时,或者在您不控制数据的其他情况下使用三重括号,并且不能依赖它是100%安全的。如果您要显示自己生成的URL,类和其他项目,请使用标准回显语法{{ }}

Laravel 5更新:原始未转义的Blade语法现在为{!! !!}。默认情况下,Laravel 5将同时保留原始的双重和三重支撑结构。