Dru*_*zed 5 php navigation twitter-bootstrap laravel
像大多数人一样,我正在使用Twitter Bootstrap来访问我目前正在Laravel中开发的网站.到目前为止,我很享受使用Laravel作为与Rails相当的PHP,但我想知道是否有更好的方法来做导航栏.我试图确保我的导航栏li
标签自动获得活动类,所以我有这个:
<ul class="nav nav-pills">
@if(URL::current() . "/" == URL::route('home'))
<li class="active">
@else
<li>
@endif
<a href="{{ route('home') }}">Home</a>
</li>
@if(URL::current() == URL::route('about'))
<li class="active">
@else
<li>
@endif
<a href="{{ route('about') }}">About</a>
</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
现在这个没关系.但是当我有菜单和更多导航时,最终看起来很难调试和处理.
小智 19
我用这个:
<li class="{{Request::path() == 'home' ? 'active' : '';}}">
<a href="/home"><i class="fa fa-home"></i>Home</a>
</li>
Run Code Online (Sandbox Code Playgroud)
看一下Bootstrapper软件包,它有很多工具可以帮助你使用Twitter Bootstrap.在您的示例中,您可以像这样构建导航:
Navigation::pills(array(
array(
'label' => 'Home',
'url' => URL::route('home'),
),
array(
'label' => 'About',
'url' => URL::route('about'),
)
));
Run Code Online (Sandbox Code Playgroud)
还有简写方法,不那么详细,我不是特别喜欢,但可以使用:
Navigation::pills(
Navigation::links(array(
array('Home', URL::route('home')),
array('About', URL::route('about')),
))
);
Run Code Online (Sandbox Code Playgroud)
值得注意的是,在两个示例中,Bootstrapper active
自动处理类,将当前请求URL与传递给项目的URL进行比较.但是,如果您希望为此应用指定不同的条件,则只需active
为较短的方法传递数组中的值或第三个值.例:
Navigation::pills(array(
array(
'label' => 'Home',
'url' => URL::route('home'),
),
array(
'label' => 'About',
'url' => URL::route('about'),
'active' => true,
)
));
Run Code Online (Sandbox Code Playgroud)
要么
Navigation::pills(
Navigation::links(array(
array('Home', URL::route('home')),
array('About', URL::route('about'), true),
))
);
Run Code Online (Sandbox Code Playgroud)
我找到了一个帮助解决这个问题的小片段.希望这有助于下一个搜索此问题的人. http://mikekoro.com/blog/laravel-4-active-class-for-navigational-menu/