菜单基本使用

未匹配的标注
本文档最新版为 2.x,旧版本可能放弃维护,推荐阅读最新版!

菜单

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

菜单权限

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

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

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

菜单翻译

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

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

...
'menu_titles' => [
    'work_units' => 'Unidades de trabajo'
],

菜单缓存

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

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

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

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

<?php
use Dcat\Admin\Admin;
use Dcat\Admin\Layout\Menu;

Admin::menu(function (Menu $menu) {
    $menu->add([
        [
            'id'            => '1', // 此id只要保证当前的数组中是唯一的即可
            'title'         => '测试菜单',
            'icon'          => 'fa-file-text-o',
            'uri'           => '',
            'parent_id'     => 0, 
            'permission_id' => 'test', // 与权限绑定
            'roles'         => 'test-roles', // 与角色绑定
        ],  
        [
            'id'            => '2', // 此id只要保证当前的数组中是唯一的即可
            'title'         => '测试菜单2',
            'icon'          => 'fa-file-text-o',
            'uri'           => 'test-menu2',
            'parent_id'     => '1', 
        ],  
    ]);
});

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

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

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
讨论数量: 0
发起讨论 只看当前版本


暂无话题~