Php 如何在laravel blade中激活一个子菜单?

Php 如何在laravel blade中激活一个子菜单?,php,laravel,Php,Laravel,在这里,我想使四个子菜单中的一个子菜单处于活动状态。这是动态slug <div class="solution_tabs"> @foreach($allMenu as $menu) <ul class="submenu"> @if(isset($menu->submenus)) @foreach($menu->submenus as $submenu) @if(isset($submenu->page-&g

在这里,我想使四个子菜单中的一个子菜单处于活动状态。这是动态slug

<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>

@foreach($allMenu作为$menu)
    @如果(设置($menu->子菜单)) @foreach($菜单->子菜单作为$子菜单) @if(设置($submenu->page->slug))
  • @否则
  • @恩迪夫 @endforeach @恩迪夫
@endforeach

您应该将当前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的,所以当您的url类似于
    example.com/segment(0)/page->slug

    时,
    segment(1)
    可以工作@I只是不知道如何与子菜单进行比较。这对我没有帮助!我需要在拉威尔布拉德的其他地方非常感谢你。