如何在laravel中动态激活li类?

时间:2017-04-05 10:58:57

标签: php laravel laravel-5

我的HTML代码是

   <div id="sidebar"><a href="#" class="visible-phone"><i class="icon icon-home"></i>Dashboard</a>
        <ul>
          <li class="active"><a href="{{route('ScamType.index')}}"><i class="icon icon-home"></i> <span>Scam Type</span></a> </li>
          <li> <a href="{{route('ScamDatabase.index')}}"><i class="icon icon-signal"></i> <span>Scam Database</span></a> </li>
          <li> <a href="{{route('ScamStory.index')}}"><i class="icon icon-inbox"></i> <span>Scam Story</span></a> </li>
          <li><a href="{{route('KeyWord.index')}}"><i class="icon icon-th"></i> <span>Keyword</span></a></li>
          <li><a href="{{route('Category.index')}}"><i class="icon icon-th"></i> <span>Category</span></a></li>
          <li><a href="{{route('SubCategory.index')}}"><i class="icon icon-th"></i> <span>Sub Category</span></a></li>
</ul>
</div>

在这里,我给了li类活跃,就像在bootstrap中一样,但它不起作用,但我不知道如何放弃laravel,而且我是laravel的初学者,所以请避免减去选票并给我正确的解决方案..如何更改我的代码以使li类动态激活?

4 个答案:

答案 0 :(得分:5)

您可以使用三元运算符。例如,您可以检查当前路由的URI:

<li{{ request()->is('scam-types') ? ' class="active"' : '' }}>

您还可以使用*作为通配符:

<li{{ request()->is('scam-type-number-*') ? ' class="active"' : '' }}>

或者您可以查看路线名称:

<li{{ request()->route()->getName() === 'ScamType.index' ? ' class="active"' : '' }}>

答案 1 :(得分:2)

尝试使用以下代码编写每个li标记,以检查URL中的某些文本

if (strpos($_SERVER['REQUEST_URI'], "ScamType") !== false){
   echo "active";
}

在课堂上写上面的代码。

实施例。

<li class="{{ if (strpos($_SERVER['REQUEST_URI'], "ScamType") !== false){  echo "active"; } }}"><a href="{{route('ScamType.index')}}"><i class="icon icon-home"></i> <span>Scam Type</span></a> </li>

答案 2 :(得分:1)

从上面的回答我尝试并且不起作用,因为class="active"必须是class=active

<li{{ request()->route()->getName() === 'user.index' ? ' class=active' : '' }}>

答案 3 :(得分:0)

class="{{ request()->routeIs('Route_Name*') ? 'active-menu' : '' }}"

在Route Name中只写Routes中定义的Route name