如果你的插件需要后台管理功能,可以定义管理界面的字段信息,前提是[插件基本信息](插件基本信息.md)中要设置`admin`参数为1,表示你的插件有后台管理功能。 >[info] 管理界面的字段信息变量名为$admin。 管理界面的字段参数有以下几种: | 参数 | 含义 | 类型 | 必填 | | --- | --- | --- | --- | | title | 后台管理标题 | string | 否 | | table_name | 数据库表名,不含前缀。 | string | 否 | | order | 需要排序功能的字段,多个字段用逗号隔开 | string | 否 | | filter | 需要筛选功能的字段,多个字段用逗号隔开 | string | 否 | | search_title | 搜索框提示文字,一般不用填写 | string | 否 | | search_field | 需要搜索的字段,如果需要搜索,则必填,否则不填 | array | 否 | | columns | 后台列表字段 | array | 是 | | right_buttons | 右侧按钮 | array | 否 | | top_buttons | 顶部栏按钮 | array | 否 | ~~~ <?php namespace 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 后台管理标题,也可以不写,不写时默认显示”数据列表“ ### table_name 数据库表名,不包含表前缀,如:admin_user。 ### order 字段排序,用法请参考[添加表头排序](添加表头排序.md) ### filter 字段筛选,用法参考[添加表头筛选](添加表头筛选.md) 一般这样使用 ~~~ 'filter' => '字段名1,字段名2' ~~~ >[info]1.0.7版本支持设置选项列表 ~~~ 'filter' => [ 'pay_type' => [ ['alipay' => '支付宝', 'wxpay' => '微信', 'unionpay' => '银联'] ], 'pay_status' => [ ['未支付', '已支付'] ] ] ~~~ ### search_field 需要搜索的字段,如果需要搜索,则必填,否则不填。 格式:`'字段名' => '字段标题'`,比如 ~~~ 'search_field' => [ 'user_name' => '用户名', 'email' => '邮箱' ], ~~~ ### search_title 搜索框的提示,一般无需设置 ### columns 定义后台列表字段,用法请参考[添加多列](添加多列.md)的`addColumns`方法。 比如: ~~~ // 后台列表字段 'columns' => [ ['id', 'ID'], ['said', '名言'], ['name', '出处'], ['status', '状态', 'switch'], ['right_button', '操作', 'btn'], ], ~~~ ### right_buttons 定义右侧按钮 添加系统自带的右侧按钮 ~~~ 'right_buttons' => [ 'edit', // 使用系统自带的编辑按钮 'enable', // 使用系统自带的启用按钮 'disable', // 使用系统自带的禁用按钮 'delete', // 使用系统自带的删除按钮 ] ~~~ 用法和[添加多个右侧按钮](添加多个右侧按钮.md)的数组方式一致,可以修改按钮的属性。 ~~~ 'right_buttons' => [ 'edit' => ['title' => '编辑'], // 使用系统自带的编辑按钮 'enable', // 使用系统自带的启用按钮 'disable', // 使用系统自带的禁用按钮 'delete', // 使用系统自带的删除按钮 ] ~~~ 添加自定义右侧按钮 ~~~ 'right_buttons' => [ 'customs' => [ [ 'title' => '自定义按钮1,新窗口打开', 'icon' => 'fa fa-list', 'href' => [ 'url' => 'HelloWorld/Admin/testTable', ], 'target' => '_blank', ] ] ] ~~~ >[info] 按钮的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', ] ] ] ~~~ >[danger] 注意,如果要在链接上添加自定义参数,请在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', ] ] ] ~~~ >[danger] 注意,添加多个自定义按钮,不能有多个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 定义顶部按钮,用法和上面的基本相同。 添加系统自带的按钮 ~~~ // 顶部栏按钮 '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 ] ], ] ], ], ~~~