maig81/backpack-menu

Backpack 4.1 的菜单系统

v1.0.8 2020-07-06 14:02 UTC

This package is auto-updated.

Last update: 2024-09-07 16:54:15 UTC


README

一个用于 Laravel Backpack 的多菜单管理器。由于需要创建多个菜单并包含多个模型在菜单中而创建。它还包含 Bootstrap 菜单前端 blade 文件。

安装

  1. 在您的终端运行
    composer require maig81/backpack-menu
    
  2. 编辑 /config/app.php 并将其添加到 providers 数组中
    Maig81\BackpackMenu\MenuServiceProvider::class,
    
  3. 发布视图、配置和迁移
    php artisan vendor:publish --provider="Maig81\BackpackMenu\MenuServiceProvider"
    
  4. 运行迁移以创建所需的数据库表
    php artisan migrate
    
  5. [可选] 在 resources/views/vendor/backpack/base/inc/sidebar.blade.phpmenu.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>"
    

用法

  1. 编辑 config/backpackmenu.php 并添加您需要在菜单系统中出现的模型。模型应该有 title 属性,它将显示在列表中。
  2. 如果您需要修改视图,请编辑 views/vendor/backpack_menu 中的文件。如文件名所示,menu_template.php 是菜单的外部模板,而 menu_item.blade.php 是一个单链接,如果有子链接,它会递归调用自身。
  3. BackpackMenu 模型有 getMenuView(),可以从 views/vendor/backpack_menu 视图中生成菜单。

示例

这是一个简单的示例...您可以在模板中创建一个字段以获取所需的菜单。

将以下内容添加到您的视图控制器中

$menu = \Maig81\BackpackMenu\App\Models\BackpackMenu::find(1);
return view('your_view', ["menu" => $menu]);

然后,在您的视图中,您可以添加以下内容以获取生成的 Bootstrap 菜单

$menu->getMenuView();

待办事项

  1. 添加 Menuable 特性,您可以将它添加到模型中。它将添加 getLink()getTitle() 函数。