liujingxing 2017-03-10 15:16:32 40235次浏览 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

觉得很赞
  • 评论于 2018-08-03 15:22 举报

    直接git clone 的项目 , 我想问一下根目录的index.php里面的js包例如(
    ./backend/web/public/assets/js/jquery.min.js">)要怎么安装呢?(原本没有目录 /backend/web/public)

    1 条回复
    评论于 2018-08-04 11:37 回复

    可以看下README.md 上面有安装说明呢

  • 评论于 2018-07-12 00:01 举报

    您好,我想下载来试试看,但是操作都通通失败了,是因为composer连接YII2的一部分总是丢失,我翻墙也是这样,使用国内镜像也是这样,真的是太让人头大啦,希望您能不能打包一个归档文件,万分感谢。

  • 评论于 2018-07-10 16:36 举报

    楼主 为什么一直报404错误

    23 条回复
    评论于 2018-07-12 09:45 回复

    nginx 或者 apache 配置好了没,看下你目录下 backend/web/index.php 文件存在没有,没有的话,需要执行初始化 init 命令,生成本地文件

    评论于 2018-07-13 16:03 回复

    你好,我想要在页面表单里做一个路由跳转应该怎么加呢

    评论于 2018-07-13 16:03 回复

    你好,我想要在页面表单里做一个路由跳转应该怎么加呢

    评论于 2018-07-14 16:05 回复

    什么意思?是表单提交地址还是要加一条跳转链接!加一条跳转链接可以用js添加上去,表单提交地址配置url配置

    评论于 2018-07-16 10:39 回复

    解决了 刚接触这个框架犯傻了 哈哈哈

    评论于 2018-07-16 17:43 回复

    页面预加载的搜索条件怎么定义,就是我要先获取ID然后根据ID区筛选

    评论于 2018-07-16 17:44 回复

    页面预加载的搜索条件怎么定义,就是我要先获取ID然后根据ID区筛选

    评论于 2018-07-17 09:51 回复

    可以通过控制器 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 方法

    评论于 2018-07-19 14:25 回复

    重写了一下 解决了 有个新的问题就是导航栏生成了但是在角色编辑权限那里 无法显示添加的菜单栏 是不是因为我一个表生成了两个模块的原因 这个有什么办法可以解决吗

    评论于 2018-07-19 16:44 回复

    自己解决了

    评论于 2018-07-20 12:45 回复

    解决,发现问题是什么没?

    评论于 2018-07-23 16:39 回复

    就是生成权限的问题,没有自动生成,所以菜单栏没有显示

    评论于 2018-07-23 16:43 回复

    我想问一下 就是页面刷新的时候我不想让子页面跟着刷新要怎么做呢 我试了一下改变父页面的url但是改变不了

    评论于 2018-07-23 16:43 回复

    我想问一下 就是页面刷新的时候我不想让子页面跟着刷新要怎么做呢 我试了一下改变父页面的url但是改变不了

    评论于 2018-07-24 10:34 回复

    子页面是父页面通过iframe 加载出来的,如果你要刷新父页面,怎个页面都会重新刷新,你说的功能,只能通过ajax 局部刷新父页面内容

    评论于 2018-07-27 16:58 回复

    了解了 那个operatios 怎么添加两个按钮呢

    评论于 2018-07-28 11:02 回复

    QQ图片20180728110441.png
    你要删除那个按钮:配置

    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')];
        
        // 自行处理
    });
    
    评论于 2018-07-28 16:42 回复

    好的 我想要的是自定义两个新按钮 原来的按钮不变应该怎么做呢

    评论于 2018-07-28 17:00 回复

    理解了 理解了

    评论于 2018-08-17 16:34 回复

    你好我想问一下 你的css和js 是怎么加载的 list(, $url) = list(, $url) = Yii::$app->assetManager->publish((new AdminAsset())->sourcePath); 就这里面的这个$url

    评论于 2018-08-19 09:35 回复

    因为前端资源放在我的包目录下面,前端不能直接访问;那样的写法,是yii2 自带的处理方式,他会将 AdminAsset 的 sourcePath 指定目录下的文件,拷贝一份到 public/assets 目录下面,那样前端页面就可以加载了

    评论于 2018-08-20 16:32 回复

    规格:紫色 价格:10 库存:13

    ,规格:蓝色 价格:20 库存:10

    你好我想问一下 就是我上面这样查询出来的数据为什么会有逗号

    评论于 2018-08-20 17:09 回复

    解决了0.0

  • 评论于 2018-07-08 11:59 举报

    因为要做些详情介绍字段,请问怎么在编辑时候添加富文本框
    我试了redactor在列表随意地址,能使用,在meTables.extend添加了,不能显示工具栏,只能显示textarea框,怎么添加呢?

  • 评论于 2018-06-22 11:02 举报

    大佬,帮我看一下我这个问题-----------我后台生成的表格,点击编辑的时候,不弹出编辑框,报错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

    点击第二次的时候就可以弹出编辑框了,,找了好久也不知道哪里的问题,对了,补充一下,我发现当前数据换一个tablename的话,就不会出现这个问题。所以不清楚到底是哪里出问题了
    
    1 条回复
    评论于 2018-06-22 22:45 回复

    需要把你的视图文件我看下,还有就是你的数据,你可以加群697549103 在群里提问

  • 评论于 2018-06-20 10:37 举报

    问下,这个问题困扰了好久
    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

    1 条回复
    评论于 2018-06-21 09:22 回复

    你先composer update 之后,看下还有这个问题没

  • 评论于 2018-05-11 16:21 举报

    QQ截图20180511162038.png
    这个小箭头怎么去掉啊

    1 条回复
    评论于 2018-05-14 09:31 回复

    模板中 表格配置 aoColumns 中,id字段中的defaultOrder 配置去掉

  • 评论于 2018-05-08 15:36 举报

    所有表的主见只能叫id吗?为什么改个名比如aid,删除就不好使了呢QQ截图20180508154026.png

    2 条回复
    评论于 2018-05-11 16:22 回复

    又自己解决了

    评论于 2018-05-14 09:33 回复

    需要修改控制器中的配置 protected $pk 和 模板中 meTables 中pk 的配置

    觉得很赞
  • 评论于 2018-05-08 14:14 举报

    新建模块首页 index 下 search 报500错误,怎么回事啊

    1 条回复
    评论于 2018-05-08 14:50 回复

    自己解决了。。。

    觉得很赞
  • 评论于 2018-04-24 09:51 举报

    装到了linux下报500错误:

    require(__DIR__ . '/../../vendor/autoload.php');
    

    好像是找不到这个文件,但vendor目录下是有这个文件的。DIR的结果是正确的。有人遇到这个问题吗?怎么解决的?是我的虚拟目录配置有问题吗?我配置的DIR是/war/www/yy/backend/web

    2 条回复
    评论于 2018-04-26 09:51 回复

    你要把具体错误信息截图出来

    评论于 2018-05-08 13:36 回复

    问题解决了,是因为nginx配置问题,无法访问根目录以外的文件导致

  • 评论于 2018-03-16 14:56 举报

    1521183336353.jpg
    table 这里怎么设置成自适应的啊? 需要改哪里?

  • 评论于 2018-03-07 16:53 举报

    楼主我的js 和css都找不到 这是啥原因了! 已经登陆了 微信截图_20180307165244.png

    3 条回复
    评论于 2018-03-07 17:20 回复

    刷新浏览器呢?看下对应的目录文件是否存在,还是有就是你的服务器配置(虚拟目录配置)

    评论于 2018-03-07 17:22 回复

    @liujingxing浏览器和目录文件都是有的,服务器配置还有啥要求吗

    评论于 2018-03-07 17:31 回复

    找到原因了是我自己访问时域名写错了不是直接从web目录访问的

  • 评论于 2018-03-01 17:06 举报

    您好,我的backend/web下没有index.php

    1 条回复
    评论于 2018-03-02 10:00 回复

    执行 composer install 后需要执行yii的初始化命 init

  • 评论于 2018-02-02 17:40 举报

    怎么修改成三级导航啊,我这改了用循环,但是点击一级导航直接就跳转找页面,这要改那个js文件?

    退出之后页面403,虚拟域名配置到backend\web目录下的

    4 条回复
    评论于 2018-02-05 09:35 回复

    三级导航之前是不支持的,现在的版本是支持的,你可以对照现在的文件,看我修改了那些文件!如果你自己改了循环,那么一级导航的url 填写成#号就好了,就是不要有url跳转路径

    评论于 2018-02-05 11:40 回复

    我在site里面的index文件里面发现了url的问题,之前没有地址都是用javascript这个,不跳转,后来就一个一个文件看。。。
    又有一个问题,自己在导航目录添加了一个文章管理,然后在模块生成这个倒航控制器后,页面找不到,怎么回事啊??

    评论于 2018-02-06 09:29 回复

    你看生成的控制器信息和你的url地址是否可以对应上,页面找不到就是这个地址没有对应的控制器处理

    评论于 2018-02-06 09:43 回复

    @liujingxing找到原因了,我自己在导航里添加的控制器里面缺少一个“-”,就像是admin-log这样的

  • 评论于 2018-01-25 14:21 举报

    楼主,用你这个框架全文索引怎么用

    1 条回复
    评论于 2018-01-25 20:28 回复

    全文索引需要自己处理呢,可以参考http://www.yiichina.com/question/443

  • 评论于 2018-01-23 15:28 举报

    楼主,我看datatables的例子都是这样的
    $(document).ready(function() {

    $('#example').DataTable( {
    	//里面操作
    } );
    

    } );
    这里都有表格的id选项,在你的源码里面怎么没找到类似的

    1 条回复
    评论于 2018-01-23 16:21 回复

    我重新封装了一下。meTables({table: {}}); 中 table 中的信息,就是配置 DataTable的配置,有定义一些默认配置,在meTable.init() 方法中有执行

    // 196 行
    this.table = $(this.options.sTable).DataTable(this.options.table);	// 初始化主要表格
    
  • 评论于 2018-01-22 11:28 举报

    能问下你把下载的jquery.datatables.min.js文件做过修改没?为什么我新下载的datatables文件和你这个不一样啊

  • 评论于 2018-01-16 16:58 举报

    QQ图片20180116165556.png
    QQ图片20180116165724.png
    这应该怎么搞?

    3 条回复
    评论于 2018-01-17 09:25 回复

    模块生成的时候,是没有生成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);
                }
            }
        ]
    }
    
    评论于 2018-01-17 09:38 回复

    model也用gii生成了,但是还是没数据啊

    评论于 2018-01-18 00:07 回复

    你f12 查看下错误信息,看报错信息找问题比较快!还有就是生成控制器默认使用的model 是放在backend/models/下面的,如果你gii 生成的model 没有放到backen/models/ 下面,可以手动去修改下控制器中指定的model类

  • 评论于 2018-01-12 13:39 举报

    楼主,我使用Modal的时候总是一闪而过,在yii2原版本上没有问题,有人说是bootstrap兼容问题,我后来比对了一下你在public下放了很多js文件,然后我把最新的bootstrap也放到public下还是出现那个问题。

    4 条回复
    评论于 2018-01-12 14:53 回复

    我把public/web下面的bootstrap.min.js删除就可以了

    评论于 2018-01-12 17:46 回复

    后台的bootstrap 不应该有这个问题呢!因为我并没有加载yii2 自动的 bootstrap 和 jquery 文件; 不知道你有没有修改资源管理的配置!所有的前端资源都是加载 ace admin 那套模板的资源

    评论于 2018-01-13 09:23 回复

    楼主你在多个地方site/index以及layout/main中都引用了bootstrap.min.js导致它加载了两次而出现了我遇到的那个问题,这块能否完善下。

    评论于 2018-01-14 09:59 回复

    内容信息是通过iframe 加载的,等同于加载一个页面!我觉得不是加载两次导致你的问题,因为加载两次是加载了两个页面,互不干扰!所有的编辑新增和修改的信息都是通过modal 显示的,这个都是没有问题的!希望你能贴出你的代码

  • 评论于 2018-01-12 11:37 举报

    多谢作者的无私。体验过一下很强大。我要将 public 放在 web 根目录那些 css jss 才能加载成功。我要改哪里?还有返回表数据和view数据的json 大概是什么结构的?

    1 条回复
    评论于 2018-01-12 17:33 回复

    表格查询需要的数据:

    {
      "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": {}                       // 数据信息
    }
    
您需要登录后才可以评论。登录 | 立即注册