yii2-ace-admin 后台模板 [ 2.0 版本 ]
Yii-ace-admin 是使用Yii2开发的一个后台管理系统, 后台模板使用ace-admin
主要功能:RBAC
特点: 方便开发,对数据表的显示、搜索、修改、新增基本功能进行了封装
对表的数据操作
1、gii 生成model
2、后台模块功能生成 控制器 和 视图
源码地址: https://github.com/myloveGy/yii2-ace-admin
安装:
1、git clone https://github.com/myloveGy/yii2-ace-admin.git
2、浏览器进入该目录index.php(简单的做了一个安装脚本,填写下数据库信息执行就好了, 数据库为文件项目目录下 yii2.sql)
3、后台默认管理员账号 super 密码 admin123
预览:
1、首页
2、数据显示
3、模块生成(生成视图文件)
4、其他页面展示
liujingxing 上海
注册时间:2016-11-20
最后登录:2023-05-20
在线时长:74小时36分
最后登录:2023-05-20
在线时长:74小时36分
- 粉丝28
- 金钱31770
- 威望40
- 积分32910
热门源码
- 整合完 yii2-rbac+yii2-admin+adminlte 等库的基础开发后台源码
- 适合初学者学习的一款通用的管理后台
- 基于 Yii 2 + Bootstrap 3 搭建一套后台管理系统 CMF
- yii-goaop - 将 goaop 集成到 Yii,在 Yii 中优雅的面向切面编程
- yii-log-target - 监控系统异常且多渠道发送异常信息通知
- 店滴云1.3.0
- 面向对象的一小步:添加 ActiveRecord 的 Scope 功能
- Yii2 开源商城 FecShop
- 基于 Yii2 开发的多店铺商城系统,免费开源 + 适合二开
- leadshop - 基于 Yii2 开发的一款免费开源且支持商业使用的商城管理系统
共 79 条评论
直接git clone 的项目 , 我想问一下根目录的index.php里面的js包例如(
./backend/web/public/assets/js/jquery.min.js">)要怎么安装呢?(原本没有目录 /backend/web/public)
可以看下README.md 上面有安装说明呢
您好,我想下载来试试看,但是操作都通通失败了,是因为composer连接YII2的一部分总是丢失,我翻墙也是这样,使用国内镜像也是这样,真的是太让人头大啦,希望您能不能打包一个归档文件,万分感谢。
楼主 为什么一直报404错误
nginx 或者 apache 配置好了没,看下你目录下 backend/web/index.php 文件存在没有,没有的话,需要执行初始化 init 命令,生成本地文件
你好,我想要在页面表单里做一个路由跳转应该怎么加呢
你好,我想要在页面表单里做一个路由跳转应该怎么加呢
@niaoer 什么意思?是表单提交地址还是要加一条跳转链接!加一条跳转链接可以用js添加上去,表单提交地址配置url配置
@liujingxing 解决了 刚接触这个框架犯傻了 哈哈哈
@liujingxing 页面预加载的搜索条件怎么定义,就是我要先获取ID然后根据ID区筛选
@liujingxing 页面预加载的搜索条件怎么定义,就是我要先获取ID然后根据ID区筛选
@niaoer 可以通过控制器 where 方法定义默认查询条件 也可以通过页面 meTables 的 params 定义默认请求参数
// 控制默认请求参数 public function where() { return [ 'where' => [['=', 'id', 1 ]] // 默认条件 ]; }
通过js 配置的默认携带请求参数
var m = mt({ params: { id: 1 }, ... });
// 然后需要在控制器中where方法处理
public function where($params) { return [ 'where' => [['=', 'id', ArrayHelper::getValue($params, 'id')]], ... ] }
上面情况都不满足,重写actionSerach 方法
重写了一下 解决了 有个新的问题就是导航栏生成了但是在角色编辑权限那里 无法显示添加的菜单栏 是不是因为我一个表生成了两个模块的原因 这个有什么办法可以解决吗
自己解决了
@niaoer 解决,发现问题是什么没?
@liujingxing 就是生成权限的问题,没有自动生成,所以菜单栏没有显示
@liujingxing 我想问一下 就是页面刷新的时候我不想让子页面跟着刷新要怎么做呢 我试了一下改变父页面的url但是改变不了
@liujingxing 我想问一下 就是页面刷新的时候我不想让子页面跟着刷新要怎么做呢 我试了一下改变父页面的url但是改变不了
@niaoer 子页面是父页面通过iframe 加载出来的,如果你要刷新父页面,怎个页面都会重新刷新,你说的功能,只能通过ajax 局部刷新父页面内容
@liujingxing 了解了 那个operatios 怎么添加两个按钮呢
@niaoer
你要删除那个按钮:配置
meTables({ operations: { buttons: { see: {bShow: false} // 关闭查看按钮, // 添加自己的按钮 other: { "className": "btn-info", "cClass": "me-table-other", "icon": "fa-pencil-square-o", "sClass": "green" } } } }); // 监听按钮事件 $(document).on("click", ".me-table-other", function () { // 当行数据 var data = m.table.data()[$(this).attr('table-data')]; // 自行处理 });
好的 我想要的是自定义两个新按钮 原来的按钮不变应该怎么做呢
理解了 理解了
你好我想问一下 你的css和js 是怎么加载的 list(, $url) = list(, $url) = Yii::$app->assetManager->publish((new AdminAsset())->sourcePath); 就这里面的这个$url
因为前端资源放在我的包目录下面,前端不能直接访问;那样的写法,是yii2 自带的处理方式,他会将 AdminAsset 的 sourcePath 指定目录下的文件,拷贝一份到 public/assets 目录下面,那样前端页面就可以加载了
规格:紫色 价格:10 库存:13
,规格:蓝色 价格:20 库存:10
你好我想问一下 就是我上面这样查询出来的数据为什么会有逗号
解决了0.0
因为要做些详情介绍字段,请问怎么在编辑时候添加富文本框
我试了redactor在列表随意地址,能使用,在meTables.extend添加了,不能显示工具栏,只能显示textarea框,怎么添加呢?
大佬,帮我看一下我这个问题-----------我后台生成的表格,点击编辑的时候,不弹出编辑框,报错Uncaught TypeError: Illegal invocation
at j (jquery.min.js:2) at Object.add [as done] (jquery.min.js:2) at n.fn.init.n.fn.ready (jquery.min.js:2) at new n.fn.init (jquery.min.js:2) at n (jquery.min.js:2) at Function.initForm (meTables.js:1192) at _construct.initForm (meTables.js:762) at _construct.update (meTables.js:392) at HTMLButtonElement.<anonymous> (meTables.js:260) at HTMLDocument.dispatch (jquery.min.js:3)
j @ jquery.min.js:2
add @ jquery.min.js:2
n.fn.ready @ jquery.min.js:2
n.fn.init @ jquery.min.js:2
n @ jquery.min.js:2
initForm @ meTables.js:1192
initForm @ meTables.js:762
update @ meTables.js:392
(anonymous) @ meTables.js:260
dispatch @ jquery.min.js:3
r.handle @ jquery.min.js:3
需要把你的视图文件我看下,还有就是你的数据,你可以加群697549103 在群里提问
问下,这个问题困扰了好久
PHP Fatal error: Uncaught exception 'yii\web\HeadersAlreadySentException' with message 'Headers already sent in D:\wwwroot\wowbabysensory\wwwroot\vendor\yiisoft\yii2\web\Response.php on line 414.' in D:\wwwroot\wowbabysensory\wwwroot\vendor\yiisoft\yii2\web\Response.php:366
Stack trace:
#0 D:\wwwroot\wowbabysensory\wwwroot\vendor\yiisoft\yii2\web\Response.php(339): yii\web\Response->sendHeaders()
#1 D:\wwwroot\wowbabysensory\wwwroot\vendor\yiisoft\yii2\web\ErrorHandler.php(135): yii\web\Response->send()
#2 D:\wwwroot\wowbabysensory\wwwroot\vendor\yiisoft\yii2\base\ErrorHandler.php(262): yii\web\ErrorHandler->renderException(Object(yii\base\ErrorException))
#3 [internal function]: yii\base\ErrorHandler->handleFatalError()
#4 {main}
thrown in D:\wwwroot\wowbabysensory\wwwroot\vendor\yiisoft\yii2\web\Response.php on line 366
你先composer update 之后,看下还有这个问题没
这个小箭头怎么去掉啊
模板中 表格配置 aoColumns 中,id字段中的defaultOrder 配置去掉
所有表的主见只能叫id吗?为什么改个名比如aid,删除就不好使了呢
又自己解决了
@先生丨孙 需要修改控制器中的配置 protected $pk 和 模板中 meTables 中pk 的配置
新建模块首页 index 下 search 报500错误,怎么回事啊
自己解决了。。。
装到了linux下报500错误:
require(__DIR__ . '/../../vendor/autoload.php');
好像是找不到这个文件,但vendor目录下是有这个文件的。DIR的结果是正确的。有人遇到这个问题吗?怎么解决的?是我的虚拟目录配置有问题吗?我配置的DIR是/war/www/yy/backend/web
你要把具体错误信息截图出来
@liujingxing 问题解决了,是因为nginx配置问题,无法访问根目录以外的文件导致
table 这里怎么设置成自适应的啊? 需要改哪里?
楼主我的js 和css都找不到 这是啥原因了! 已经登陆了
刷新浏览器呢?看下对应的目录文件是否存在,还是有就是你的服务器配置(虚拟目录配置)
@liujingxing浏览器和目录文件都是有的,服务器配置还有啥要求吗
@liujingxing 找到原因了是我自己访问时域名写错了不是直接从web目录访问的
您好,我的backend/web下没有index.php
执行 composer install 后需要执行yii的初始化命 init
怎么修改成三级导航啊,我这改了用循环,但是点击一级导航直接就跳转找页面,这要改那个js文件?
退出之后页面403,虚拟域名配置到backend\web目录下的
三级导航之前是不支持的,现在的版本是支持的,你可以对照现在的文件,看我修改了那些文件!如果你自己改了循环,那么一级导航的url 填写成#号就好了,就是不要有url跳转路径
我在site里面的index文件里面发现了url的问题,之前没有地址都是用javascript这个,不跳转,后来就一个一个文件看。。。
又有一个问题,自己在导航目录添加了一个文章管理,然后在模块生成这个倒航控制器后,页面找不到,怎么回事啊??
你看生成的控制器信息和你的url地址是否可以对应上,页面找不到就是这个地址没有对应的控制器处理
@liujingxing找到原因了,我自己在导航里添加的控制器里面缺少一个“-”,就像是admin-log这样的
楼主,用你这个框架全文索引怎么用
全文索引需要自己处理呢,可以参考http://www.yiichina.com/question/443
楼主,我看datatables的例子都是这样的
$(document).ready(function() {
$('#example').DataTable( { //里面操作 } );
} );
这里都有表格的id选项,在你的源码里面怎么没找到类似的
我重新封装了一下。meTables({table: {}}); 中 table 中的信息,就是配置 DataTable的配置,有定义一些默认配置,在meTable.init() 方法中有执行
// 196 行 this.table = $(this.options.sTable).DataTable(this.options.table); // 初始化主要表格
能问下你把下载的jquery.datatables.min.js文件做过修改没?为什么我新下载的datatables文件和你这个不一样啊
这应该怎么搞?
模块生成的时候,是没有生成model 的,model需要自己通过gii 生成! 表格数据的配置你可以看jquery.datatables 表格列的数据需要自定义的话可以通过 createdCell配置,详情可以看 http://www.datatables.club/reference/option/columns.createdCell.html
例如:
m = meTables({ title: "管理员信息", table: { "aoColumns":[ { "title": "管理员ID", "data": "id", "sName": "id", "edit": {"type": "hidden"}, "search": {"type": "text"}, "defaultOrder": "desc", "createdCell": function(td, data, rowData, rowIndex, collIndex) { // td 就是那个表格的单元格jquery 对象, data 是当前列数据, rowData 是当前行数据 $(td).html("<input type='radio' name='id'>" + data); } } ] }
model也用gii生成了,但是还是没数据啊
@正在输入... 你f12 查看下错误信息,看报错信息找问题比较快!还有就是生成控制器默认使用的model 是放在backend/models/下面的,如果你gii 生成的model 没有放到backen/models/ 下面,可以手动去修改下控制器中指定的model类
楼主,我使用Modal的时候总是一闪而过,在yii2原版本上没有问题,有人说是bootstrap兼容问题,我后来比对了一下你在public下放了很多js文件,然后我把最新的bootstrap也放到public下还是出现那个问题。
我把public/web下面的bootstrap.min.js删除就可以了
后台的bootstrap 不应该有这个问题呢!因为我并没有加载yii2 自动的 bootstrap 和 jquery 文件; 不知道你有没有修改资源管理的配置!所有的前端资源都是加载 ace admin 那套模板的资源
楼主你在多个地方site/index以及layout/main中都引用了bootstrap.min.js导致它加载了两次而出现了我遇到的那个问题,这块能否完善下。
内容信息是通过iframe 加载的,等同于加载一个页面!我觉得不是加载两次导致你的问题,因为加载两次是加载了两个页面,互不干扰!所有的编辑新增和修改的信息都是通过modal 显示的,这个都是没有问题的!希望你能贴出你的代码
多谢作者的无私。体验过一下很强大。我要将 public 放在 web 根目录那些 css jss 才能加载成功。我要改哪里?还有返回表数据和view数据的json 大概是什么结构的?
表格查询需要的数据:
{ "errCode": 0, // 错误码 成功必须为0 "errMsg": "操作成功", "data": { "sEcho": 1, // jquery.datatable 请求的次数 在 Yii::$app->request->post('sEach'), "iTotalRecords": 1, // 当页数据条数 "iTotalDisplayRecords": 1, // 数据总条数 "aaData": [ // 查询的数据 // ... { "id": "84", "title": "v bbvnvbnbvn" } ] } }
其他从处理方式:新增、修改、删除
{ "errCode": 0, // 错误码 成功必须为0 "errMsg": "操作成功", "data": {} // 数据信息 }