菜单

Dcat Admin的菜单是保存在数据表admin_menu上的,开发者可以在后台菜单管理页面对菜单进行管理。

菜单权限

每个菜单都可以与权限或角色进行绑定,如果不设置则为公共菜单,所有账号都能看到。

通过admin.menu.bind_permission配置参数可以设置是否允许绑定权限。

{tip} 默认一个菜单最多能绑定一个权限和一个角色。

菜单翻译

在您的语言文件的menu_titles索引中追加菜单标题。 例如“工作单位”标题:

resources/lang/{当前语言}/admin.php

  1. ...
  2. 'menu_titles' => [
  3. 'work_units' => 'Unidades de trabajo'
  4. ],

菜单缓存

通过admin.menu.cache.enable配置参数可以开启或关闭菜单缓存,建议开启。

通过Menu::add接口动态添加菜单

Dcat Admin还提供了通过数组的方式在代码中即时添加菜单。

app\Admin\bootstrap.php中添加如下代码:

  1. <?php
  2. use Dcat\Admin\Admin;
  3. use Dcat\Admin\Layout\Menu;
  4. Admin::menu(function (Menu $menu) {
  5. $menu->add([
  6. [
  7. 'id' => '1', // 此id只要保证当前的数组中是唯一的即可
  8. 'title' => '测试菜单',
  9. 'icon' => 'fa-file-text-o',
  10. 'uri' => '',
  11. 'parent_id' => 0,
  12. 'permission_id' => 'test', // 与权限绑定
  13. 'roles' => 'test-roles', // 与角色绑定
  14. ],
  15. [
  16. 'id' => '2', // 此id只要保证当前的数组中是唯一的即可
  17. 'title' => '测试菜单2',
  18. 'icon' => 'fa-file-text-o',
  19. 'uri' => 'test-menu2',
  20. 'parent_id' => '1',
  21. ],
  22. ]);
  23. });

为何没有权限的菜单不会自动隐藏?

这个问题是因为你没有给菜单绑定权限或者角色,给你想要无权不显示的菜单绑定权限或者角色即可。