我正在尝试根据laravel 4.1中的路线激活菜单,我的尝试:
<li
{{{ (Request::is('/core') ? 'class="active"' : '') }}}><a href="{{{ URL::to('/core') }}}">Control Panel</a>
</li>
我的路线:
Route::get('/core', 'CoreController@Showindex');
这并不是简单地忽略任何错误。任何帮助表示赞赏。
答案 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将同时保留原始的双重和三重支撑结构。