如果你的插件需要后台管理功能,可以定义管理界面的字段信息,前提是插件基本信息中要设置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 | 否 |
<?php
namespace pluginsHelloWorld;
use appcommoncontrollerPlugin;
/**
* 演示插件
*/
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
字段排序,用法请参考添加表头排序
filter
字段筛选,用法参考添加表头筛选
一般这样使用
"filter" => "字段名1,字段名2"
1.0.7版本支持设置选项列表
"filter" => [
"pay_type" => [
["alipay" => "支付宝", "wxpay" => "微信", "unionpay" => "银联"]
],
"pay_status" => [
["未支付", "已支付"]
]
]
search_field
需要搜索的字段,如果需要搜索,则必填,否则不填。
格式:"字段名" => "字段标题"
,比如
"search_field" => [
"user_name" => "用户名",
"email" => "邮箱"
],
search_title
搜索框的提示,一般无需设置
columns
定义后台列表字段,用法请参考添加多列的addColumns
方法。
比如:
// 后台列表字段
"columns" => [
["id", "ID"],
["said", "名言"],
["name", "出处"],
["status", "状态", "switch"],
["right_button", "操作", "btn"],
],
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
定义顶部按钮,用法和上面的基本相同。
添加系统自带的按钮
// 顶部栏按钮
"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
]
],
]
],
],