查看Admin.php 源码
/**
* Left sider-bar menu.
*
* @return array
*/
public function menu()
{
if (!empty($this->menu)) {
return $this->menu;
}
$menuClass = config('admin.database.menu_model');
/** @var Menu $menuModel */
$menuModel = new $menuClass();
return $this->menu = $menuModel->toTree();
}
laravel-admin 非常的灵活,通过配置即可配置自定义的菜单参数
// Menu table and model.
'menu_table' => 'admin_menu',
'menu_model' => Encore\Admin\Auth\Database\Menu::class,
如果想根据实际的业务需求显示菜单,比如:是一个多应用的平台,切换一个应用显示不同的菜单。
在你的项目中,创建一个和 Encore\Admin\Auth\Database\Menu 一样的类,进行自定义操作
在config/admin.php 配置 菜单的模型类
在Encore\Admin\Auth\Database\Menu 中,allNodes 这个方法即为显示的所有菜单,根据业务模式进行修改