(一)安装扩展组件:yii2-adminlte-asset
描述:我们搭好的项目是没办法直接支持左侧菜单栏的样式的。需要我们去找样式或者直接用组件来安装,这里我们选择了yii2-adminlte-asset
安装流程:
① 到项目根目录,命令行执行:composer require dmstr/yii2-adminlte-asset "2.*" 即可。
② 待安装完毕,将 vendor\dmstr\yii2-adminlte-asset\example-views\yiisoft\yii2-app 目录下面的文件到项目 backend\views
③ 下面上对比图(左图是未安装前,右图是安装后)
④ 通过修改body的class可以来调整主题
//主要是这几种样式,挑这看自己喜欢的就行
"skin-blue","skin-black","skin-red","skin-yellow","skin-purple","skin-green","skin-blue-light","skin-black-light","skin-red-light","skin-yellow-light","skin-purple-light","skin-green-light"
(二)结合前面所学的权限控制,把左侧菜单栏真正实现由角色来区分显示(替换掉Menu的静态显示)
<?php
$callback = function($menu){
$data = json_decode($menu['data'], true);
$items = $menu['children'];
$return = [
'label' => $menu['name'],
'url' => [$menu['route']],
];
//处理我们的配置
if ($data) {
//visible
isset($data['visible']) && $return['visible'] = $data['visible'];
//icon
isset($data['icon']) && $data['icon'] && $return['icon'] = $data['icon'];
//other attribute e.g. class...
$return['options'] = $data;
}
//没配置图标的显示默认图标
(!isset($return['icon']) || !$return['icon']) && $return['icon'] = 'fa fa-circle-o';
$items && $return['items'] = $items;
return $return;
};
echo dmstr\widgets\Menu::widget( [
'options' => ['class' => 'sidebar-menu tree', 'data-widget'=> 'tree'],
'items' => \mdm\admin\components\MenuHelper::getAssignedMenu(Yii::$app->user->id, null, $callback),
] );
?>
整个权限配置的大致逻辑理下: 先配置路由-> 再添加角色/配置角色权限->赋予用户某个角色(菜单那边也要填好路由,这样不同的用户进来显示的菜单栏就自然而然不一样了)
来源:CSDN
作者:可乐加辣椒ヾ
链接:https://blog.csdn.net/WatermelonMk/article/details/88058134