在我的master.blade.php文件中,我有一个我试图整理的导航。
<nav class="navbar navbar-default" role="navigation">
<div class="container-fluid">
<div class="col-sm-5">
<ul class="nav navbar-nav" >
<li class="{{ Route::current( 'home.index') ? 'active' : '' }}">{{ HTML::linkAction('HomeController@index', 'Home') }}
<li><a href="">Locations</a></li>
<li class="{{ Route::current( 'order.index') ? 'active' : '' }}">{{ HTML::linkAction('OrderController@index', 'Order Online') }}
</ul>
</div>
<div class="col-sm-5 navbar-right">
<ul class="nav navbar-nav navbar-right">
<li class="{{ Route::current( 'menu.index') ? 'active' : '' }}">{{ HTML::linkAction('MenuController@index', 'Menu') }}
<li><a href="">About</a></li>
<li><a href="">Contact Us</a></li>
</ul>
</div>
<div class="container-fluid">
</nav>
这里的问题是所有这些都设置为激活。不是当前页面。我做错了什么?
答案 0 :(得分:18)
或者只是使用三元操作:
<li {{ (Request::is('*login') ? 'class="active"' : '') }}>Login</li>
答案 1 :(得分:10)
这件作品返回对象
Route::current( 'home.index')
将其更改为
Route::currentRouteName() == 'home.index'
我建议使用它的辅助函数,看起来像这样:
function setActive($route, $class = 'active')
{
return (Route::currentRouteName() == $route) ? $class : '';
}
上述杰弗里在http://laracasts.com
的积分您可以将助手放在例如app / helpers.php中,然后您需要将其添加到/composer.json中的自动加载中,如此
...
"autoload": {
"classmap": [
...
],
"files": [
"app/helpers.php"
]
}
答案 2 :(得分:0)
Lynnais和Jarek Tkaczyk都有正确的答案。但是这里的工作是
创建一个文件或类。如果使用class可以创建一个带有名称的静态函数,无论你想要什么。并将文件名或类文件夹添加到composer.json。
... "autoload": { "classmap": [ ... , 'app/helpers' ], "files": [ "app/helpers.php" ] }
这里, app / helpers 是包含可以在以后用作帮助程序类的类的文件夹, app / helpers.php 是带有方法的普通PHP文件。在'app / helpers'和“files”之前查看这些逗号。创建一个这样的类。
namespace App\Helper;
class Helper{
public static function set_active($route){
return (\Request::is($route.'/*') || \Request::is($route)) ? "active" : '';
}
}
现在,只要你想从视图
中调用它就可以调用它<ul class="nav navbar-nav">
<li class="dropdown {{ \App\Helper\Helper::set_active('/') }}"> {{ HTML::decode(HTML::link('/','<i class="fa fa-home"></i> Home ', array('class' => 'dropdown-toggle'))) }} </li>
<li class="dropdown {{ \App\Helper\Helper::set_active('admins') }}"> {{ HTML::decode(HTML::link('/admins','<i class="fa fa-user"></i> Admins ', array('class' => 'dropdown-toggle'))) }} </li>
</ul>
OR
<li class="{{\App\Helper\Helper::set_active('/')}}">Home</li>
<li class="{{\App\Helper\Helper::set_active('admins')}}">Admins</li>
快乐的编码。 :)