Skip to content
dengyongbin edited this page Apr 27, 2016 · 39 revisions

快速开发配置文件文档

Model对象(必填)

'model_class' => 'App\Models\Test',
'model_name' => '测试',

列表页面

显示字段(必填)
'index_column' => array('id', 'name', 'status'),
显示名称(必填)
'index_column_name' => array('ID', '名称', '状态', '操作'),
多表关联
'index_multi_join' => array(
        ['users', 'tests.user_id', '=', 'users.id'],
        ['roles', 'tests.role_id', '=', 'roles.id'],
),
多表关联字段
'index_multi_column' => array('user_id', 'users.name as user_name', 'tests.name', 'roles.name as role_name'),
显示字段自定义
'index_column_rename' => array(
   // 枚举映射
   'name' => array(
      'type' => 'selector',
      'param' => 'test_selector'
   ),
   // 不同值显示不同样式
   'status' => array(
      'type' => 'normal',
      'param' => array(
         0 => '<span class="label label-default">未启用</span>',
         1 => '<span class="label label-success">已启用</span>',
      )
    ),
    // 模态框
    'id' => array(
       'type' => 'dialog',
       'param' => array(
          // a标签name名称
          'name' => 'test_btn',
          //模态框名称
          'target' => 'test_dialog',
          //模态框标题
          'dialog_title' => 'Modal',
          //模态框路由,结尾的'/'不能省略,url后会传递id值,路由需配置
          'url' => '/admin/test/detail/',
          'width' => '80%'
        )
    ),
    // html样式替换
    'avatar' => array(
       'type' => 'html',
       // 图片样式
       'param' => '<a href="%s" target="_blank"><img style="width:50px;height:50px" src="%s" alt=""></a>',
       // 链接样式
       //'param' => '<a href="%s" target="_blank" title="%s">点击查看</a>',
    ),
),
显示字段格式化
'index_column_format' => array(
    array('column' => 3, 'type' => 'amount'),
    array('column' => 8, 'type' => 'date', 'format' => 'Y-m-d H:i')
),
列表排序
'sort' => array(['created_at', 'desc'], ['test_time', 'desc']),
列表条件
'index_where' => array(
   array('column' => 'news_type', 'operator' => '=', 'value' => 2),
   array('column' => 'news_type', 'operator' => 'whereIn', 'value' => [1,2]),
   array('column' => 'news_type', 'operator' => 'whereNotIn', 'value' => [1,2]),
   array('column' => 'news_type', 'operator' => 'whereBetween', 'value' => [1,2]),
   array('column' => 'news_type', 'operator' => 'whereNotBetween', 'value' => [1,2]),
   array('column' => 'news_type', 'operator' => 'whereNull'),
   array('column' => 'news_type', 'operator' => 'whereNotNull'),
),

编辑页面

显示字段
'edit_column' => array('name', 'title', 'publish_time', 'test_time'),
显示名称
'edit_column_name' => array('名称', '标题', '发布日期', '测试日期'),
控件类型
'edit_column_detail' => array(
   // 下拉控件
   'name' => array(
      'type' => 'selector',
      'selector_key' => 'test_selector',
      'validator' => array('required' => true)
   ),
   // 默认input输入框
   'title' => array('validator' => array('required' => true)),
   // 日期控件
   'publish_time' => array(
      'type' => 'date',
      'default_value' => 'now',
      'date_picker' => array(
         'dateFormat' => 'yy-mm-dd',
         'yearRange' => '-10:+10',
         'minDate' => '-2',
         'maxDate' => '+2',
       ),
       'validator' => array('required' => true)
   ),
   // 时间控件
   'test_time' => array(
      'type' => 'time',
      'validator' => array('required' => true)),
    ),
   // 编辑器控件(编辑器额外需要引入模板,在外层配置:'edit_editor' => true,编辑器控件才生效)
   'summary' => array('type' => 'editor'),
   // 图片控件
   'image' => array(
      'type' => 'image',
      'name' => 'image',
      'min_count' => 1,
      'max_count' => 1,
      'min_error_msg' => '至少上传%s张图片',
      'max_error_msg' => '最多只允许上传%s张图片',
      'editable' => true
   ),
),
隐藏元素
'edit_hidden' => array(
   array('name' => 'news_type', 'value' => 2),
),

详情页面

显示字段
'detail_column' => ['id', 'name', 'title',  'status', 'created_at'],
显示名称
'detail_column_name' => array('ID', '名称', '标题', '状态', '创建时间'),
多表关联
'detail_multi_join' => array(
   ['users', 'users.id', '=', 'feedbacks.account_id'],
),
多表关联字段
'detail_multi_column' => array(
   'users.email as email', 'feedbacks.*'
),
控件类型
'detail_column_rename' => array(
   // 金额
   'amount' => ['type' => 'amount'],
   // 图片
   'image' => ['type' => 'image'],
   // 重命名
   'status' => [
      'type' => 'normal',
      'param' => [
         '0' => '<span class="label-default status">未上线</span>',
         '1' => '<span class="label-success status">已上线</span>'
      ]
   ],
   // 下拉枚举
   'type' => [
      'type' => 'selector',
      'param' => 'test_type'
   ],
   // 日期
   'created_at' => [
      'type' => 'date',
      'format' => 'Y-m-d H:i'
   ],
   // html
   'title' => [
      'type' => 'html'
   ],
),

操作按钮

增删改查(不配置时,系统默认为true)
'curd_action' => array(
   'create' => false,
   'edit' => false,
   'detail' => false,
   'delete' => false,
),
操作功能
'table_action' => array(
   // 状态变更    
   array(
     'type' => 'confirm',
     'name' => 'enabled_btn',
     'display_name' => '启用',
     'url' => '/admin/test/changeStatus',
     'data' => array('status' => 1, 'publish_time' => 'now'),
     'where' => array('status' => [0, 1]),
   ),
   // 操作自定义
   array(
        'type' => 'redirect_with_id',
        'name' => 'add_topic',
        'display_name' => '添加话题',
        'method' => 'get',
        'url' => '/admin/account/addTopic'
   ),
   // 模态框
   array(
     'type' => 'dialog',
     'name' => 'edit_permission',
     'target' => 'edit_permission',
     'dialog_title' => '分配权限',
     'display_name' => '分配权限',
     'url' => '/admin/roles/permissions/',
     'form' => array(
        'form_id' => 'smart-form-permissions',
        'submit_id' => 'confirmPermission',
        'success_msg' => '分配权限成功,重新登陆后即可更新左侧菜单栏',
        'failure_msg' => '分配失败'
     ),
   ),
),
Clone this wiki locally