Laravel 5 将数据绑定到 header.blade.php 中菜单的 var
Laravel 5 Bind data to var for menu in header.blade.php
创建菜单的最佳解决方案是什么。
我有 $menudata(来自 dbase 的动态数据)并想将其传递给 heade.blade.php 以生成顶级菜单。
$menudata = Menu::all();
@foreach($menudata as $value).......
我怎样才能做到这一点?最好的方法是什么?
如果菜单在每个页面中都可见,则在任何服务提供商中添加以下内容(例如在 AppServiceProvider
中):
public function boot() {
// ...
View::share("menudata",Menu::all());
//...
}
然后您可以在任何视图中使用菜单数据,例如
@foreach($menudata as $value).......
在 AppServiceProvider
的 boot
方法中添加以下代码
View::composer('*', function($view)
{
$view->with('menudata', Menu::all());
});
此处,* 表示所有观看次数都将收到 $menudata
。
现在你可以像这样使用了
@foreach ($menudata as $menu).....
Laravel-menu 提供了三种开箱即用的渲染方式。但是,您可以使用正确的方法和属性创建自己的渲染方法。
如前所述,laravel-menu 提供了三种开箱即用的呈现格式,asUl()、asOl() 和 asDiv()。您可以阅读详细信息here。
{!! $MyNavBar->asUl() !!}
您还可以通过菜单集合访问菜单对象:
{!! Menu::get('MyNavBar')->asUl() !!}
创建菜单的最佳解决方案是什么。 我有 $menudata(来自 dbase 的动态数据)并想将其传递给 heade.blade.php 以生成顶级菜单。
$menudata = Menu::all();
@foreach($menudata as $value).......
我怎样才能做到这一点?最好的方法是什么?
如果菜单在每个页面中都可见,则在任何服务提供商中添加以下内容(例如在 AppServiceProvider
中):
public function boot() {
// ...
View::share("menudata",Menu::all());
//...
}
然后您可以在任何视图中使用菜单数据,例如
@foreach($menudata as $value).......
在 AppServiceProvider
boot
方法中添加以下代码
View::composer('*', function($view)
{
$view->with('menudata', Menu::all());
});
此处,* 表示所有观看次数都将收到 $menudata
。
现在你可以像这样使用了
@foreach ($menudata as $menu).....
Laravel-menu 提供了三种开箱即用的渲染方式。但是,您可以使用正确的方法和属性创建自己的渲染方法。
如前所述,laravel-menu 提供了三种开箱即用的呈现格式,asUl()、asOl() 和 asDiv()。您可以阅读详细信息here。
{!! $MyNavBar->asUl() !!}
您还可以通过菜单集合访问菜单对象:
{!! Menu::get('MyNavBar')->asUl() !!}