1. 伪静态配置:

  1. location / {
  2. index index.html index.htm index.php;
  3. if (!-e $request_filename) {
  4. rewrite ^(.*)$ /index.php?s=/$1 last;
  5. break;
  6. }
  7. #autoindex on;
  8. }

2. 关联模型时关联字段不显示:

  1. //情况1:数据库字段不包含两条_,例如:user_id,可能因为生成js,渲染后缺少指定的显示字段,
  2. //方法:修改view在input标签上添加data-field="需要显示的关联字段"
  3. //情况2:数据库字段包含两条或以上的_,例如:user_rule_id,JS或生成user/rule/id形式,所以找不到这个控制器
  4. //方法:修改view中的input标签上的data-soure="user/rule/id"为"user_rule_id"

3. 给后台信息列表添加自定义按钮:

  1. //1.找到/public/assets/js/backend/你的页面.js文件
  2. //2.找到{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
  3. 改成:{
  4. field: 'operate', title: __('Operate'), table: table,
  5. buttons: [
  6. {name: 'detail', text: '详情', title: '详情', icon: 'fa fa-list', classname: 'btn btn-xs btn-primary btn-dialog', url: 'page/detail'}
  7. ],
  8. events: Table.api.events.operate, formatter: Table.api.formatter.operate
  9. }
  10. //3.绑定按钮点击方法
  11. detail:function(){
  12. Controller.api.bindevent();
  13. },
  14. //4.控制器添加方法直接用$ids获取当前ID

3.1 table几个配置的含义

name 唯一标识,其中index/add/edit/del/multi/dragsort这几个框架已经暂用,如果使用将会覆盖已有属性
text 按钮上的文本,可以为空时,为空时按钮将不显示文字信息,为空时最好配置上icon的值
title 按钮的标题信息,当鼠标移到上面时显示的文字,同时作为dialog弹出窗时的标题信息
icon 按钮上的按钮信息,可使用Font-awesome的按钮,当text为空时请务必填写该值
classname 按钮的class标签的值,建议btn btn-xs为必选,这样可以和其它按钮更加协调搭配,可搭配用的按钮颜色有btn-primary、btn-success、btn-danger、btn-warning,还有额外的功能class如btn-dialog、btn-addtabs、btn-ajax,下面会详细介绍。

btn-dialog : 点击按钮后将会以弹窗的形式打开url这个链接
btn-addtabs : 点击按钮后将会在顶部选项卡中新增一个选项卡并跳转
btn-ajax : 点击按钮后将会发起一个Ajax请求
url 按钮点击后跳转的链接,可选且可使用相对链接。为空时按钮的链接为javascript:;
dropdown 按钮分组名称,用于将按钮分组下拉
refresh 是否在执行完事件后刷新列表,常配合classname:’btn-ajax’使用
confirm 提示确认信息,常配合classname属性为btn-ajax、btn-dialog、btn-addtabs使用
extend 扩展属性,用于扩展按钮的自定义属性
hidden 控制按钮是否隐藏属性,支持function
visible 控制按钮是否显示属性,支持function
disable 控制按钮是否禁用属性,支持function

3.2 根据权限控制按钮显示


例如添加一个详情按钮detail 可添加data-operate-detail属性,如下

  1. <table id="table" class="table table-striped table-bordered table-hover"
  2. data-operate-edit="{:$auth->check('page/edit')}"
  3. data-operate-del="{:$auth->check('page/del')}"
  4. data-operate-detail="{:$auth->check('page/detail')}" width="100%"> </table>

其中data-operate-detail这里的detail对应的就是我们按钮中的name值,而{:$auth->check(‘page/detail’)}中的page/detail对应的就是我们方法的控制器和方法。
只需要上面这一行代码,如果管理员没有page/detail这个权限,则detail这个按钮就不会显示了。
如果需要隐藏默认的编辑或删除按钮,可以将相应的值置为空即可,如下:

  1. <table id="table" class="table table-striped table-bordered table-hover"
  2. data-operate-edit=""
  3. data-operate-del=""
  4. width="100%"> </table>

4.添加一个新显示字段

  1. 1.找到模块->控制器,方法里添加显示字段
  2. 2.找到模块->lang->zh-cn->文件,添加字段中文
  3. 3.找到/public/assets/js/backend/你的页面.js文件,添加显示字段