我目前正在使用laravel刀片,我目前使用刀片模板实现了bootstrap.
希望导航按钮能够与所选页面一起动态交互
<div class="navbar">
<nav class="navbar navbar-inverse navbar-fixed-top">
<div class="container-fluid">
<div class="navbar-header">
<a class="navbar-brand" href="#"><b>iMakan</b></a>
</div>
<div>
<ul class="nav navbar-nav navbar-right">
<li><a class="active "href="/">Home</a></li>
<li><a href="about">About Us</a></li>
<li><a href="contact">Contact Us</a></li>
<li><a href="auth/login">Login</a></li>
<li><a href="503">Cart</a></li>
</ul>
</div>
</div>
</nav>
</div>
解决方法:
Laravel提供了一个可以使用的内置函数:Request :: is().
从API docs:
Determine if the current request URI matches a pattern.
你使用是这样的:
Request::is('about'); // returns a boolean
<a href="about" @if(Request::is('about')) class="active" @endif>
您可以编写一个辅助函数来处理它:
function isActive($path, $class = 'active')
{
return (Request::is($path)) ? $class : '';
}
将它放在app目录中名为helpers.php的文件中,并将其包含在composer.json的autoload-part中,如下所示:
"autoload": {
"files": [
"app/helpers.php"
]
},
也许你需要在你的终端上做一个composer dump-autoload.
最后像这样使用它:
<a href="about" class="{{ isActive('about') }}">About</a>