什麼是創建菜單的最佳解決方案。 我有$ menudata(從dbase動態),並希望將其傳遞給heade.blade.php來生成頂級菜單。Laravel 5將數據綁定到header.blade.php中的var菜單
$menudata = Menu::all();
@foreach($menudata as $value).......
我該如何做到這一點?什麼是最好的方式來做到這一點?
什麼是創建菜單的最佳解決方案。 我有$ menudata(從dbase動態),並希望將其傳遞給heade.blade.php來生成頂級菜單。Laravel 5將數據綁定到header.blade.php中的var菜單
$menudata = Menu::all();
@foreach($menudata as $value).......
我該如何做到這一點?什麼是最好的方式來做到這一點?
添加以下代碼AppServiceProvider
View::composer('*', function($view)
{
$view->with('menudata', Menu::all());
});
這裏boot
方法中,*意味着所有的意見都會得到$menudata
。
現在你可以使用這個喜歡
@foreach ($menudata as $menu).....
我選擇了這一個,因爲我可以選擇這樣的觀點,查看::作曲( 'partitials.header',函數($視圖) \t { \t \t $視圖 - >與( 'menudata',['AAA ','bbb']); \t});日Thnx! – Bas
@Bas:很高興幫助你。不用謝 :) –
如果菜單中的每一頁可見然後添加任何服務提供商(例如,在AppServiceProvider
)以下:
public function boot() {
// ...
View::share("menudata",Menu::all());
//...
}
然後你就可以在任意視圖菜單數據例如
@foreach($menudata as $value).......
Laravel菜單中提供了三種渲染方法開箱。但是,您可以使用正確的方法和屬性創建您自己的渲染方法。
如前所述,laravel菜單提供了三種渲染格式開箱,asUl(),asOl()和asDiv()的。你可以閱讀有關細節here。
{!! $MyNavBar->asUl() !!}
您也可以通過菜單收集進入菜單對象:
{!! Menu::get('MyNavBar')->asUl() !!}
我認爲你正在使用[Laravel菜單](https://github.com/lavary/laravel-menu)作爲laravel菜單包。正確? –