maig81 / backpack-menu
Backpack 4.1 的菜单系统
v1.0.8
2020-07-06 14:02 UTC
Requires
- backpack/crud: ^4.0
- backpack/pagemanager: ^3.0
README
一个用于 Laravel Backpack 的多菜单管理器。由于需要创建多个菜单并包含多个模型在菜单中而创建。它还包含 Bootstrap 菜单前端 blade 文件。
安装
- 在您的终端运行
composer require maig81/backpack-menu - 编辑
/config/app.php并将其添加到providers数组中Maig81\BackpackMenu\MenuServiceProvider::class, - 发布视图、配置和迁移
php artisan vendor:publish --provider="Maig81\BackpackMenu\MenuServiceProvider" - 运行迁移以创建所需的数据库表
php artisan migrate - [可选] 在
resources/views/vendor/backpack/base/inc/sidebar.blade.php或menu.blade.php中添加一个菜单项php artisan backpack:add-sidebar-content "<li class='nav-item'><a class='nav-link' href='{{ backpack_url('backpackmenu') }}'><i class='nav-icon fa fa-file-o'></i> <span>Menus</span></a></li>"
用法
- 编辑
config/backpackmenu.php并添加您需要在菜单系统中出现的模型。模型应该有title属性,它将显示在列表中。 - 如果您需要修改视图,请编辑
views/vendor/backpack_menu中的文件。如文件名所示,menu_template.php是菜单的外部模板,而menu_item.blade.php是一个单链接,如果有子链接,它会递归调用自身。 - BackpackMenu 模型有
getMenuView(),可以从views/vendor/backpack_menu视图中生成菜单。
示例
这是一个简单的示例...您可以在模板中创建一个字段以获取所需的菜单。
将以下内容添加到您的视图控制器中
$menu = \Maig81\BackpackMenu\App\Models\BackpackMenu::find(1);
return view('your_view', ["menu" => $menu]);
然后,在您的视图中,您可以添加以下内容以获取生成的 Bootstrap 菜单
$menu->getMenuView();
待办事项
- 添加
Menuable特性,您可以将它添加到模型中。它将添加getLink()和getTitle()函数。