管理界面的字段信息
如果你的插件需要后台管理功能,可以定义管理界面的字段信息,前提是插件基本信息中要设置admin参数为1,表示你的插件有后台管理功能。
管理界面的字段信息变量名为$admin。
管理界面的字段参数有以下几种:
| 参数 | 含义 | 类型 | 必填 |
|---|---|---|---|
| title | 后台管理标题 | string | 否 |
| table_name | 数据库表名,不含前缀。 | string | 否 |
| order | 需要排序功能的字段,多个字段用逗号隔开 | string | 否 |
| filter | 需要筛选功能的字段,多个字段用逗号隔开 | string | 否 |
| search_title | 搜索框提示文字,一般不用填写 | string | 否 |
| search_field | 需要搜索的字段,如果需要搜索,则必填,否则不填 | array | 否 |
| columns | 后台列表字段 | array | 是 |
| right_buttons | 右侧按钮 | array | 否 |
| top_buttons | 顶部栏按钮 | array | 否 |
<?phpnamespace plugins\HelloWorld;use app\common\controller\Plugin;/*** 演示插件*/class HelloWorld extends Plugin{/*** @var array 插件信息*/public $info = [// 插件名[必填]'name' => 'HelloWorld',// 插件标题[必填]'title' => '你好,世界',// 插件唯一标识[必填],格式:插件名.开发者标识.plugin'identifier' => 'helloworld.ming.plugin',// 插件图标[选填]'icon' => 'fa fa-fw fa-globe',// 插件描述[选填]'description' => '这是一个演示插件,会在每个页面生成一个提示“Hello World”。您可以查看源码,里面包含了绝大部分插件所用到的方法,以及能做的事情。',// 插件作者[必填]'author' => 'CaiWeiMing',// 作者主页[选填]'author_url' => 'http://www.dolphinphp.com',// 插件版本[必填],格式采用三段式:主版本号.次版本号.修订版本号'version' => '1.0.0',// 是否有后台管理功能'admin' => '1',];/*** @var string 原数据库表前缀*/public $database_prefix = 'dolphin_';/*** @var array 管理界面字段信息*/public $admin = ['title' => '', // 后台管理标题'table_name' => 'plugin_hello', // 数据库表名,如果没有用到数据库,则留空'order' => 'said,name', // 需要排序功能的字段,多个字段用逗号隔开'filter' => '', // 需要筛选功能的字段,多个字段用逗号隔开'search_title' => '', // 搜索框提示文字,一般不用填写'search_field' => [ // 需要搜索的字段,如果需要搜索,则必填,否则不填'said' => '名言','name' => '出处'],// 后台列表字段'columns' => [],// 右侧按钮'right_buttons' => [],// 顶部栏按钮'top_buttons' => []];/*** 安装方法必须实现*/public function install(){return true;}/*** 卸载方法必须实现*/public function uninstall(){return true;}}
title" class="reference-link">title
后台管理标题,也可以不写,不写时默认显示”数据列表“
table_name" class="reference-link">table_name
数据库表名,不包含表前缀,如:admin_user。
order" class="reference-link">order
字段排序,用法请参考添加表头排序
filter" class="reference-link">filter
字段筛选,用法参考添加表头筛选
一般这样使用
'filter' => '字段名1,字段名2'
1.0.7版本支持设置选项列表
'filter' => ['pay_type' => [['alipay' => '支付宝', 'wxpay' => '微信', 'unionpay' => '银联']],'pay_status' => [['未支付', '已支付']]]
search_field" class="reference-link">search_field
需要搜索的字段,如果需要搜索,则必填,否则不填。
格式:'字段名' => '字段标题',比如
'search_field' => ['user_name' => '用户名','email' => '邮箱'],
search_title" class="reference-link">search_title
搜索框的提示,一般无需设置
columns" class="reference-link">columns
定义后台列表字段,用法请参考添加多列的addColumns方法。
比如:
// 后台列表字段'columns' => [['id', 'ID'],['said', '名言'],['name', '出处'],['status', '状态', 'switch'],['right_button', '操作', 'btn'],],
right_buttons" class="reference-link">right_buttons
定义右侧按钮
添加系统自带的右侧按钮
'right_buttons' => ['edit', // 使用系统自带的编辑按钮'enable', // 使用系统自带的启用按钮'disable', // 使用系统自带的禁用按钮'delete', // 使用系统自带的删除按钮]
用法和添加多个右侧按钮的数组方式一致,可以修改按钮的属性。
'right_buttons' => ['edit' => ['title' => '编辑'], // 使用系统自带的编辑按钮'enable', // 使用系统自带的启用按钮'disable', // 使用系统自带的禁用按钮'delete', // 使用系统自带的删除按钮]
添加自定义右侧按钮
'right_buttons' => ['customs' => [['title' => '自定义按钮1,新窗口打开','icon' => 'fa fa-list','href' => ['url' => 'HelloWorld/Admin/testTable',],'target' => '_blank',]]]
按钮的url链接请填写”插件名/控制器/方法“。
添加自定义右侧按钮并带有参数
'right_buttons' => ['customs' => [['title' => '自定义按钮2,自定义参数','icon' => 'fa fa-list','href' => ['url' => 'HelloWorld/Admin/testTable','params' => ['id' => '__id__','table' => '__table__','name' => 'molly','age' => 12]'target' => '_blank',]]]
注意,如果要在链接上添加自定义参数,请在params上添加。
也可以定义多个自定义按钮
'right_buttons' => ['customs' => [['title' => '自定义按钮1,新窗口打开','icon' => 'fa fa-list','href' => ['url' => 'HelloWorld/Admin/testTable',],'target' => '_blank',],['title' => '自定义按钮2,自定义参数','icon' => 'fa fa-list','href' => ['url' => 'HelloWorld/Admin/testTable','params' => ['id' => '__id__','table' => '__table__','name' => 'molly','age' => 12]'target' => '_blank',]]]
注意,添加多个自定义按钮,不能有多个customs,多个按钮也是一起写在customs内容,以下写法是错误的。
'right_buttons' => ['customs' => [['title' => '自定义按钮1,新窗口打开','icon' => 'fa fa-list','href' => ['url' => 'HelloWorld/Admin/testTable',],'target' => '_blank',]],'customs' => [['title' => '自定义按钮2,自定义参数','icon' => 'fa fa-list','href' => ['url' => 'HelloWorld/Admin/testTable','params' => ['id' => '__id__','table' => '__table__','name' => 'molly','age' => 12]'target' => '_blank',]]]
top_buttons" class="reference-link">top_buttons
定义顶部按钮,用法和上面的基本相同。
添加系统自带的按钮
// 顶部栏按钮'top_buttons' => ['add', // 使用系统自带的添加按钮'enable', // 使用系统自带的启用按钮'disable',// 使用系统自带的禁用按钮'delete', // 使用系统自带的删除按钮'back', // 使用系统自带的返回按钮// 自定义按钮,可定义多个'customs' => [['title' => '<i class="fa fa-list"></i> 自定义按钮1','href' => ['url' => 'HelloWorld/Admin/testTable',],'target' => '_blank',],// 自定义按钮并带有参数['title' => '<i class="fa fa-user"></i> 自定义按钮2','href' => ['url' => 'HelloWorld/Admin/testForm','params' => ['name' => 'molly','age' => 12]],]],],
