簡體   English   中英

如何根據laravel刀片子菜單下的菜單使邊欄動態化?

[英]How to make side bar dynamic according to menus under sub menu in laravel blade?

這里我想要相關菜單的子菜單。但是此代碼給出了添加到導航欄的所有菜單的所有子菜單。

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

可以這樣嘗試。 假設您有一個類別模型,並且在類別數據庫中有一個名為parent的列,如果它的Null是一個主菜單,否則是一個子菜單。如果我有給定的子菜單,該列將是一個整數菜單。

public static function hasSubmenu($id){
 $sub = Category::where('parent','=',$id);
   if($sub->count()>0){
    return true;
   }else{
    return false;
   }
}

首先,我會像這樣得到所有主菜單

<?php $mainMenus = Category::where('parent','=',null)->get();?>
    @foreach ($mainMenus as $mainMenu)
      <ul>
        <li>{{$mainMenu->name}}
              @if(Category(hasSubmeny($mainMenu->id)))
               <ul id="submenu">
                <?php $subMenus = Category::Where('parent','=',$mainMenu->id)?>
                  @foreach($subMenus as $subMenu)
                    <li>{{$submenu}}</li>
                  @endforeach
               </ul>
              @endif
        </li>
      </ul>
    @endforeach

試試這個,請希望它能適合您的用法

您的問題並沒有所有相關數據可為我們提供幫助,但是我想假設您的菜單和子菜單模型之間的關系得到了很好的實現(即一對多關系 )。

您可以通過檢查數據庫表中的子菜單並查看每個子菜單項是否具有正確的菜單ID來進行驗證。

另外,您可以通過死掉allMenu數組dd(allMenu)來進一步調試控制器。 然后中斷每個菜單以查看“關系”子對象以查看每個子菜單。

您可以在下面發表評論以獲得更多幫助

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM