如何在laravel刀片中激活一个子菜单?

时间:2018-10-06 17:40:40

标签: php laravel

在这里,我要使四个子菜单中的一个子菜单处于活动状态。这是针对动态子弹的。

<div class="solution_tabs">
   @foreach($allMenu as $menu)
   <ul class="submenu">
      @if(isset($menu->submenus))
      @foreach($menu->submenus as $submenu)
      @if(isset($submenu->page->slug))
      <li class="active"><a href="{{url($submenu->page->slug)}}">{{ $submenu->name}}</a></li>
      @else
      <li><a href="{{url($submenu->page->slug)}}">{{ $submenu->name}}</a></li>
      @endif
      @endforeach
      @endif
   </ul>
   @endforeach
</div>

same as this image,i want one active submenu from dynamic submeun of the menu

1 个答案:

答案 0 :(得分:1)

您应该将当前URL与链接URL进行比较,以检测巧合。一种实现方法是使用

将请求注入到刀片文件中
@inject('request', 'Illuminate\Http\Request')

,然后检查是否有以下匹配项:

<li class="{{ $request->segment(1) == $submenu->page->slug ? 'active' : '' }}"><a href="{{url($submenu->page->slug)}}">{{ $submenu->name}}</a></li>

请注意,segment()是基于0的,因此segment(1)可以在您的网址类似于example.com/segment(0)/page->slug时起作用