jminayat / laravel-menu
Laravel 的菜单管理
Requires (Dev)
- orchestra/testbench: ^3.5
- phpunit/phpunit: ^6
This package is not auto-updated.
Last update: 2024-09-21 03:14:42 UTC
README
jminayat/modules-laravel
是用于 Laravel 菜单管理的包。兼容 Laravel 版本 5.5。
安装
通过 composer 安装包。
composer require jminayat/laravel-menu
接下来,通过运行以下命令发布包配置文件:
php artisan vendor:publish --provider="JMinayaT\Menus\MenusServiceProvider"
创建菜单
要创建菜单,请从 Menu 门面调用创建方法。第一个参数是菜单名称,第二个参数是定义菜单项的回调函数。
Menu::create('test',function($menu){ $menu->link('home/1','Home',['icon'=>'icon-home']); });
创建多个菜单
如果您想创建多个菜单
Menu::create('test1',function($menu){ $menu->link('home/1','Home',['icon'=>'icon-home']); }); Menu::create('test2',function($menu){ $menu->link('user','user'); });
菜单项
菜单链接
要创建链接菜单项,请使用 $menu->link()
Menu::create('test',function($menu){ // 'url' 'title' 'attributes' $menu->link('home/1','Home',['icon'=>'icon-home']); });
菜单路由
如果您已定义具有您命名的路由元素,请使用 $menu->route()
Menu::create('test',function($menu){ // 'name rute' 'title' 'route parameters' 'attributes' $menu->route('cars.show', 'Cars', ['name'=>'toyota'], ['icon'=>'icon-car']); });
菜单下拉菜单
要创建下拉菜单项,请使用 $menu->dropdown()
Menu::create('test',function($menu){ // 'title' 'attributes' 'callback ' $menu->dropdown('test',['icon'=>'icon-test'], function($item){ $item->link('/test','test1',['icon'=>'fa-fa-icon']); $item->link('/test','test2',['icon'=>'fa-fa-icon']); $item->link('/test','test3'); }); });
多级菜单下拉
要在一个下拉菜单中创建另一个下拉菜单,请使用 $item->dropdown()
Menu::create('test',function($menu){ // 'title' 'attributes' 'callback ' $menu->dropdown('test',['icon'=>'icon-test'], function($item){ $item->link('/test','test1'); $item->dropdown('test',['icon'=>'icon-test'], function($item){ $item->link('/test','test2'); }); }); });
排序菜单项
您可以通过顺序号或字母顺序对菜单项进行排序。
默认情况下,配置文件中禁用了排序,您可以直接在配置文件中启用它或使用方法 $menu->activeOrder()
。
Menu::create('test',function($menu){ $menu->activeOrder(); });
要设置顺序值,请调用方法 ->order()
。
Menu::create('test',function($menu){ $menu->activeOrder(); //active order $menu->link('home/1','Home',['icon'=>'icon-home'])->order(1); $menu->link('contact','Contact',['icon'=>'icon-contact'])->order(3); $menu->link('pages','Pages',)->order(2); });
要按字母顺序排序,请使用方法 $menu->setOrderBy($type)
。
Menu::create('test',function($menu){ $menu->activeOrder();// active order $menu->setOrderBy('title'); // 'title' or 'number' });
默认情况下,排序函数是禁用的。您可以在配置文件中启用排序函数。
return [ 'ordered' => true ];
默认排序类型为按数字排序。
return [ 'orderBy' => 'title' ];
渲染菜单
要渲染菜单,您可以使用 show
或 get
方法。
Menu::get('test'); Menu::show('test');
编辑菜单
要编辑已创建的菜单,请使用 facade Menu 的 edit
方法。
Menu::edit('test',function($menu){ $menu->link('home/1','Home',['icon'=>'icon-home']); // add link item });
要编辑菜单中的项。
Menu::edit('test',function($menu){ // 'search parameter' 'name' $menuItem = $menu->edit('title', 'test'); $menuItem->title = 'hola'; });
要编辑下拉菜单中的元素。
Menu::edit('test',function($menu){ // 'search parameter' 'name' $menuItem = $menu->edit('title', 'test'); //dropdown item $menuItem->link('/test2','testt2',['icon'=>'fa-fa-icon']); //add dropdown item // 'search parameter' 'name' $subMenuItem = $menuItem->edit('title', 'test1'); //edit dorpdown item $subMenuItem->title = 'test3'; });
配置
要发布包配置,请使用以下命令
php artisan vendor:publish --provider="JMinayaT\Menus\MenusServiceProvider"
配置文件的内容如下
return [ 'aspect' => [ 'MtsysAdmin' => 'JMinayaT\Menus\Aspects\MtsysAdmin\SidebarMenuAspect', ], 'default_aspect' => 'MtsysAdmin', 'ordered' => false, 'orderBy' => 'number', ];
aspect
这些是可用的预置菜单方面。
default_aspect
设置默认方面。
ordered
为所有菜单启用或禁用菜单项排序。
orderBy
设置默认排序类型为字母或数字。
许可证
MIT 许可证(MIT)。请参阅 许可证文件 了解更多信息。