liujingxing 2017-03-10 15:16:32 40000次浏览 79条评论 24 6 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、首页
yii2-1.png

2、数据显示
yii2-2.png

3、模块生成(生成视图文件)
yii2-3.png

4、其他页面展示
yii2-4.png
yii2-5.png

觉得很赞
  • 评论于 2017-04-09 17:03 举报

    删除功能不能用啊

  • 评论于 2017-04-11 09:38 举报

    已经修复问题 meTables.js 285 行
    self.save(child ? this.childTable.data()[row] : this.table.data()[row], child);
    改为
    self.save(child ? self.childTable.data()[row] : self.table.data()[row], child);

    , 觉得很赞
  • 评论于 2017-04-11 10:20 举报

    请问你得模块生成是怎么用的啊?我怎么生成后没有数据?

    11 条回复
    评论于 2017-04-11 22:09 回复

    需要看下你的model 是不是创建了, 模块生成的控制器默认使用backend/models/下面的model !还有可能的原因就是权限没有添加!

    评论于 2017-04-16 16:53 回复

    这个问题应该是生成的试图文件中,我的变量名写错了! 最后面的
    $(function(){

     mt.init()
    

    });
    当中的mt.init(); 改为m.init();

    评论于 2017-04-30 17:32 回复

    你好,我也在学习这个,发现有同样的问题。通过模块生成的控制器和视图没有显示任何内容,之前有报 mt.init(); 这个js错误,我已经修改,但是还是没有显示任何内容。backend/models/下面对应的模型已通过gii生成,权限也手动添加了(您那个模块生成因为本身的权限问题,根本选择不了生成权限那个选项,所以我生成控制器和视图后手动添加的权限)。不知道这个bug现在有解决吗?

    评论于 2017-04-30 20:05 回复

    找了我一下午终于找到原因了。生成模块的控制器 ModuleController 的方法 createPHP 里面的 这个ID名字搞错了:id="showTable" 正确的应该是:id="show-table"。这个整合的后台bug还蛮多,不过还算完整。

    评论于 2017-05-06 16:40 回复

    这个你看下我的github项目的最新提交,问题应该都已经解决了!而且也稍微添加的下说明文档

    评论于 2017-05-14 15:39 回复

    您好,想请教下您,那个数据源我想使用关联表数据,比如一个表中只保存了ID,另外一个表中保存的名称,这两个表我增加了has one的关联关系,如何在视图中让他们显示在同一个表中,并且可以排序、搜索......我对datatables不太熟悉,所以不知道那个数据值到底是如何通过search这个方法传递给datatables显示出来的?

    评论于 2017-05-14 23:03 回复

    你可以看下:https://github.com/myloveGy/meTables 这个关于我写的meTables 的说明
    你的模板的话,只要加字段配置就好了
    QQ截图20170514225246.png
    对应的控制器的search 返回的json 数据格式
    QQ截图20170514231047.png
    因为没有考虑到需要连表查询的情况,需要重写子类的search 方法,加上连表查询就好了,返回json 数据给模板就好了

    评论于 2017-05-16 00:24 回复

    嗯,谢谢!不过还是不太明白那个 json中的aaData是如何传递数据给模板的?这其中的原理是在哪些js代码中体现的?另外假如我需要使用连表中的一个字段进行排序或者搜索,视图模板中的值又是如何获取值传递给控制器的search方法的?在js中的哪段代码中体现?

       我现在视图模板中的meTable中的aoColumns中加入一个连表中的字段,我打开index页面可以看到这个字段在list列当中,但是没有value值,另外create和edit视图中也是没有出现这个字段......
    
    评论于 2017-05-16 23:06 回复

    aoColums 配置的单个对象中,例如{"title": "ID", "data": "id", "sName": "id", "edit": {"type": "text"}, "search": {"type": "text"} } 其中的 edit 就是配置的创建和修改的表单input 的, type:text 表示是一个输入框, type: 支持类型 “hidden”, "text", "radio", "select", "checkbox", "textarea",还可以在自定义; 当中的 search 配置的是搜索的input type:支持的类型为“text”, "select"

    评论于 2018-01-17 14:22 回复

    edit下,怎么type不支持checkbox

    评论于 2018-01-20 10:53 回复

    支持checkbox 的,因为有bug 所以显示的输入框,修改meTables.js 的 checkboxCreate 方法 941行 将

     // params = handleParams(params); 改为  
     params = this.handleParams(params);
    
  • 评论于 2017-04-22 21:59 举报

    前台呢???

  • 评论于 2017-05-09 11:43 举报

    怎么访问后台的 访问好像出错

    5 条回复
    评论于 2017-05-09 11:49 回复

    后台首页 在目录 backend/web/index.php

    评论于 2017-05-09 11:55 回复

    Warning: require(D:\phpStudy\WWW\yii2-ace-admin\backend\web/../config/main-local.php): failed to open stream: No such file or directory in D:\phpStudy\WWW\yii2-ace-admin\backend\web\index.php on line 15

    Fatal error: require(): Failed opening required 'D:\phpStudy\WWW\yii2-ace-admin\backend\web/../config/main-local.php' (include_path='.;C:\php\pear') in D:\phpStudy\WWW\yii2-ace-admin\backend\web\index.php on line 15

    评论于 2017-05-09 12:00 回复

    小哥哥为什么会这样

    评论于 2017-05-09 13:29 回复

    求告知

    评论于 2017-05-09 15:11 回复

    这个是因为你本地的配置文件不存在,你在项目目录下 运行yii自带 init 工具 配置运行环境
    QQ截图20170509151340.png

    选择 开发环境, 会帮你生成本地配置文件的, 生成以后需要修改本地环境配置信息(比如数据库配置信息)

  • 评论于 2017-05-09 16:58 举报

    Warning: require(D:\xunizhuji\shuaige\9mouth\yii2-ace-admin-master\backend\config/../../common/config/params-local.php): failed to open stream: No such file or directory in D:\xunizhuji\shuaige\9mouth\yii2-ace-admin-master\backend\config\main.php on line 4

    Fatal error: require(): Failed opening required 'D:\xunizhuji\shuaige\9mouth\yii2-ace-admin-master\backend\config/../../common/config/params-local.php' (include_path='.;C:\php\pear') in D:\xunizhuji\shuaige\9mouth\yii2-ace-admin-master\backend\config\main.php on line 4

    怎么解决啊

    3 条回复
    评论于 2017-05-14 22:35 回复

    你目录下的本地文件不存在,修改下你的配置文件就好了(backend/config/main.php第四行),不要加载本地的common/config/params-local.php, 改为你的params-local.php文件位置,或者在backend/config/目录下生成一个params-local.php 返回一个数组就好了

    评论于 2017-05-15 15:44 回复

    你好,我修改了之后,就不报错了,空白了,这个怎么解决

    评论于 2017-05-16 23:10 回复

    你之前的原因应该是你没有执行项目目录下init 初始化本地环境配置的,所以没有params-local.php 这个文件;现在没有报错空白的话,看下有没有配置url 美化

  • 评论于 2017-05-16 10:53 举报

    Exception (Invalid Configuration) 'yii\base\InvalidConfigException' with message 'The directory does not exist: E:/phpstudy/WWW/yii2-ace-admin/backend/web/assets'

    in E:\phpstudy\WWW\yii2-ace-admin\vendor\yiisoft\yii2\web\AssetManager.php:211

    这是为什么??

    1 条回复
    评论于 2017-05-16 22:58 回复

    到你的目录下 backend/web 目录下,手动创建一个assets 目录就好了

  • 评论于 2017-05-16 17:37 举报

    请问下您 按照上面的提示 index.php页管理系统安装页填写后一直没反应?

    1 条回复
    评论于 2017-05-16 22:59 回复

    没有一个loading 一直在等待吗

  • 评论于 2017-05-16 23:19 举报

    关于项目的介绍和使用说明:可以看下我的github yii2-ace-admin 上面的README.md
    关于后台的控制器where() 方法和 meTables 的使用都有简单的说明

  • 评论于 2017-05-21 23:46 举报

    您好,请教一个问题。通过module/index生成了控制器以及模板,models下面没有生成model,请问是正常的吗。

    1 条回复
    评论于 2017-05-24 16:21 回复

    model 需要使用gii生成

  • 评论于 2017-05-21 23:47 举报

    请问回调是干嘛用的,怎么用呢

  • 评论于 2017-05-24 17:19 举报

    你好,请问一下后台模块表单如何添三级联动? 还有模块生成提示数据库名称必须在2-20字符怎么解决?

    1 条回复
    评论于 2017-05-25 11:36 回复

    后台模块表单三级联动?是指编辑表单吗?,如果是编辑表单的话在配置edit: {"type": "text", "id": "user-eidt"} 配置一个ID或者class的属性,然后可以通过jquery 去监听这个input的事件去实现修改表单其他的input就可以!
    提示数据库名称必须在2-20字符 你只要修改下 视图里面
    views/module/index.php 68 行

    把配置 rangelength="[2, 20]" 改为你需要的值就好了

  • 评论于 2017-06-07 08:29 举报

    我这上传图片功能用不起来,一直提示是上传数据为空,还有我复制了一个添加导航栏,修改了名称,提示系统繁忙但内容在数据库里已经添加了。

    6 条回复
    评论于 2017-06-14 17:12 回复

    图片上传功能,需要修改 common\models\UploadForm 类中的字段和验证关系,这个地方我感觉我要修改下,因为所有上传的models我都用的是一个, 新增上传的话都要添加字段和应用场景、还有验证规则;
    新增上传的话:
    1、这个类里面添加一个你的上传图片表单名称对应的属性 例如 对应的属性 public $image;
    2、添加验证场景 在 scenarios 方法返回的数组中追加 ‘image’ => ['image']
    3、添加验证规则 在 rules 方法中追加对应的验证信息

    评论于 2017-08-03 14:10 回复

    添加数据返回系统繁忙,请稍后再试。。。ajax的返回状态在哪里,还是这部分要在哪里设置,想把的导航栏了的jqgrid复制一份就出错了

    评论于 2017-08-03 17:49 回复

    具体问题是什么? 那个地方出现的问题

    评论于 2017-08-04 10:14 回复

    nav复制menu的controller、model和view,就是有添加数据的时候,数据是添加成功了,但刷新页面的时候提示系统繁忙。

    评论于 2017-08-04 12:13 回复

    你打开你的yii debug模块,系统繁忙应该是有错误了,可以在浏览器的 网络请求中看到具体的错误信息的, 关于ajax 的返回,主控制器里面有 return $this->returnJson() 方法里面处理的! 返回相应的json数据, 但是服务器繁忙,应该是页面错误, 前台ajax 的 done 方法给出的错误提示

    评论于 2017-11-10 20:08 回复

    你好,关于上传图片的问题,我按照你说的改了,还是不行!能不能帮忙看下啥问题?除了你说的那三步,还需要改哪些地方?

  • 评论于 2017-06-07 11:07 举报

    您好,请教一个问题,edit配置type:select后,添加内容那里面这个字段是空的,应该如何解决呢。另外在操作中增加新的内容在哪里添加呢,谢谢!

    1 条回复
    评论于 2017-06-14 16:59 回复

    类型为select 和 radio 都需要配置一个 value字段配置信息, 例如:
    {"title": "状态", "data": "status", "sName": "status", "value": {"1": "启用", "2": "停用"},
    "edit": {"type": "select", "default": 1, "required":true,"number":true}, "bSortable": false}
    value: 需要是一个对象 {"值":"说明"}

  • 评论于 2017-06-15 17:14 举报

    你好,上传头像不对啊

    7 条回复
    评论于 2017-06-21 16:16 回复

    具体是什么问题? yii2 的上传 需要开启 fileinfo 扩展的

    评论于 2017-11-10 20:38 回复

    提示没有权限上传图片

    评论于 2017-11-13 09:53 回复

    没有权限,在权限列表中添加一个权限就好了 权限名称就是访问地址 例如 admin/upload 因为目前的权限管理就是每一个控制器请求方法对应一个权限操作

    评论于 2017-11-13 10:25 回复

    上传文件需要配置信息
    1、视图文件配置 配置上传文件的选择器
    tu1.png
    2、视图文件的表单input 配置
    tu2.png
    3、视图文文件配置 表单显示之前的操作
    tu3.png
    4、上传文件model common\models\UploadForm 配置上传字段的验证信息(字段、验证场景、验证规则)
    tu4.jpg
    5、添加操作权限 对应的路由的upload 方法 理由admin 头像上传 admin/upload

    说明:
    上传文件是ajax 上传,就是图片先上传保存到服务器,返回一个图片路径隐藏在表单中,update 方法只是保存数据,没有上传文件的操作

    评论于 2019-04-12 14:15 回复

    admin/upload 404

    评论于 2019-04-15 09:46 回复

    看composer.jso 中引用jinxing/yii2-admin 的版本 1.0 版本这个路径是有的,2.0 变为了admin/admin/upload

    评论于 2019-04-15 11:11 回复

    DataTables warning: table id=show-table - Ajax error. For more information about this error, please see http://datatables.net/tn/7 好像各种search都不在 然后看控制器只有aftersearch 去git看 2.0 只有基本控制器 是不是没上传完 还是有新的git路径

  • 评论于 2017-06-16 19:28 举报

    您好,请问模块生成中,字段最后的"回调"如何使用。

    1 条回复
    评论于 2017-06-21 16:17 回复

    使用的话: 接受一个函数 可以是匿名函数,具体可以看试图文件中的

    "createdCell": function(td, cellData, rowData, rowIndex, colIndex) {
       $(td).html(cellData === 1 ? "开启": "失败"); // 我一般用来修改显示的值 cellData 就是 返回的原始值
    }
    

    具体文档: 行的createCell

  • 评论于 2017-06-22 20:20 举报

    Warning: require(D:\phpStudy\WWW\backend\web/../config/main-local.php): failed to open stream: No such file or directory in D:\phpStudy\WWW\backend\web\index.php on line 15

    Fatal error: require(): Failed opening required 'D:\phpStudy\WWW\backend\web/../config/main-local.php' (include_path='.;C:\php\pear') in D:\phpStudy\WWW\backend\web\index.php on line 15`
    这里输入代码

    
    
    1 条回复
    评论于 2017-06-22 21:27 回复

    需要在项目目录下执行下 init

  • 评论于 2017-07-07 16:05 举报

    执行init时,显示,缺少runtime和assets文件夹,这个是怎么回事?在初始化的时候,不能初始这些文件嘛?QQ截图20170707160255.png

    5 条回复
    评论于 2017-07-07 17:01 回复

    我也遇到了

    评论于 2017-07-08 22:28 回复

    这个是因为我的目录问题,我没有把这个assets 和 runtime 放到 git 上面

    评论于 2017-07-09 13:43 回复

    应该把这两个文件夹放进去吧,不然一些数据没办法写入;还有,我手动添加了这两个文件夹,访问时,还是会出错,页面样式没有了,看是否应该上传整个文件到git上呢。。。谢谢。。

    评论于 2017-07-09 14:09 回复

    对的,需要上传到git 不过都是空目录! 手动创建了,访问抱什么错误?

    评论于 2017-07-09 18:08 回复

    刚重新试了下,又可以创建了;但是,现在登录页和里面,样式都不显示了,这是丢失了什么文件嘛?

  • 评论于 2017-07-10 16:53 举报

    Exception 'yii\base\UnknownMethodException' with message 'Calling unknown method: backend\models\Auth::createPermission()'

    使用模块生成

    5 条回复
    评论于 2017-07-10 17:40 回复

    这个是我昨天修改了代码,删除了 createPermission() 方法

    评论于 2017-07-10 18:09 回复

    好的

    评论于 2017-07-10 22:24 回复

    重新拉下代码!或者修改后台 ModuleController.php 控制器 175 - 181 行代码

            foreach ($arrAuth as $key => $value) {
                $model = new Auth();
                $model->name = $model->newName =  $strPrefix.$key;
                $model->type = Auth::TYPE_PERMISSION;
                $model->description = $value.$title;
                $model->save();
            }
    
    评论于 2017-08-08 19:20 回复

    ok,现在才看到

    评论于 2017-08-08 19:20 回复

    ok,现在才看到

  • 评论于 2017-07-18 10:55 举报

    地区里的pid 能不能换成pname, 这样的话显示的比较全

您需要登录后才可以评论。登录 | 立即注册