Yii2 - (三)安装 AdminLTE 渲染后台 和 yii2-admin 集成 rbac

一、安装 AdminLTE 渲染后台

1、利用 AdminLTE 渲染后台模板

AdminLTE 是一个完全响应管理模板。基于 Bootstrap3 框架,易定制模板。适合多种屏幕分辨率,从小型移动设备到大型台式机。内置了多个页面,包括仪表盘、邮箱、日历、锁屏、登录及注册、404错误、500错误等页面。

① 进入 cmd,切换到 advanced 目录,输入
composer require dmstr/yii2-adminlte-asset "2.*"
② 拷贝 vendor\dmstr\yii2-adminlte-asset\example-views\yiisoft\yii2-app 目录下面的文件到项目 backend\views,可直接进行覆盖替换

2、进入后台 127.0.0.1/advanced/backend/web/ 查看效果
7ba3a4da51-07.png

* 如果遇到页面不断刷新,可能是因为加载资源的时候在获取 google 的 css 资源
12_154633.png

解决办法:删除加载 css 资源的那一行代码
01.png


3、url 美化
① 配置:backend/config/main.php 文件的 compontents
"urlManager" => [
//用于表明 urlManager 是否启用URL美化功能
"enablePrettyUrl" => true,
// 是否在URL中显示入口脚本
"showScriptName" => false,
],
② 下载附件中的 .htaccess 文件,放在 backend/web 目录下(这是为了隐藏 Index.php,apache必须要开启rewrite模块)或者自行创建 .htaccess 文件,下面是文件内容:
#表示开启重写引擎
RewriteEngine on
#请求的文件或路径是不存在的,如果文件或路径存在将返回已经存在的文件或路径
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php


二、安装 yii2-admin 集成 rbac

1、yii2-admin 是 yii2 rbac 的一套管理工具,实现了漂亮的界面和完整的权限管理功能

进入 cmd,切换到 advanced 目录,输入
composer require mdmsoft/yii2-admin "2.x-dev"
2、配置 backend/config/main.php 文件
return [
// ......
'modules' => [
'admin' => [
'class' => 'mdm\admin\Module',
],
],
'aliases' => [
'@mdm/admin' => '@vendor/mdmsoft/yii2-admin',
],
'as access' => [
'class' => 'mdm\admin\components\AccessControl',
'allowActions' => [
//这里是允许访问的action
//controller/action
// * 表示允许所有,后期会介绍这个
'*'
]
],
'components' => [
'authManager' => [
'class' => 'yii\rbac\DbManager',
'defaultRoles' => ['guest'],
],
// ......
],
];
3、导入 rbac 表格

执行.sql 文件:vendor\yiisoft\yii2\rbac\migrations\schema-mysql.sql (附件中提供)

或按照下面你操作步骤执行:

① 打开 console/config/main.php ,在 'components' => , 数组中添加下面代码:
'authManager' => [ 'class' => 'yii\rbac\DbManager', ],
 
② 执行命令:
yii migrate --migrationPath=@yii/rbac/migrations

4、运行 127.0.0.1/advanced/backend/web/admin/route 预览效果
6ce77713a2-08.png


附录:

默认的yii2-adminlte是蓝色主题,可以按照下面的方式配置主题
① 打开backend\config\main.php 在components中添加assetManager
'components' => [
'assetManager' => [
'bundles' => [
'dmstr\web\AdminLteAsset' => [
'skin' => 'skin-red',
],
],
],
],

② 打开 backend\views\layouts\main.php,找到body将其class修改如下
<body class="hold-transition <?= \dmstr\helpers\AdminLteHelper::skinClass() ?> sidebar-mini">
受ACF的影响,我们暂时看不出来什么,打开backend\controllers\SiteController.php文件,暂时先屏蔽掉 behaviors 方法的 access 部分,至于是什么意思,后面到了该讲的时候我们会说,现在就先把模版框架搭建好。如此一来,我们刷新下site/index看看,是不是有不同样式的主题了呢?其中配置文件中的skin还有下面的其他样式,随便替换,喜欢哪个用哪个,只需要简单的配置即可。(鸿宇还没配置过yellow的主题色,赶紧尝试了一把)
"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"
这不就简单的搭建好了我们的管理后台,样式也都是很ok。如果你需要更多的关于该模版的样式,请浏览器中打开 vendor\almasaeed2010\adminlte\index.html 文件进行参考,涵盖你想要的。
 

0 个评论

要回复文章请先登录注册