## 配置文件
插件配置文件用于给到用户自定义一些选项,用户安装后,可根据需要灵活配置你的插件。
目前支持text、textarea、radio、checkbox、select、image、images、date、datetime、array组件。
组件可前往这里了解:[字段类型与组件](%E5%89%8D%E8%A8%80.md)
## 配置后的效果
![](https://img.kancloud.cn/c2/8e/c28e04b60cab5093e94592e01f2cab20_954x674.png)
## 文件路径
```
addons
├─demo
│ ├─Demo.php
│ ├─config.php 配置文件
│ ├─info.ini
```
![](https://img.kancloud.cn/36/8f/368f09fc59379c5e6ead638d6fdcfdec_188x211.png)
## 无标签页示例
~~~
<?php
return [
// 名称,保持唯一,获取时:$tmp['value1'] 即可获取value值。
'value1' => [
'title' => '标题', // 标题
'type' => 'text', // 组件类型
'tips' => '提示', // 提示信息
'rules' => 'required;length(3~16)', // 验证规则,可参考字段类型与组件下的验证规则,多个规则;隔开
'error_tips'=>'值必须', // 错误的提示信息
'value' => '' // 默认值
],
'value2' => [
'title' => '描述',
'type' => 'textarea',
'tips' => '',
'rules' => '',
'error_tips'=>'',
'value' => ''
],
'radio' => [
'title' => '是否显示',
'type' => 'radio',
'tips' => '',
'rules' => '',
'error_tips'=>'',
'options' => [ // 选项
'1' => '显示',
'0' => '不显示'
],
'value' => '1'
],
'checkbox' => [
'title' => '多项选择',
'type' => 'checkbox',
'tips' => '',
'rules' => '',
'error_tips'=>'',
'options' => [
// key=>标题
'1' => '显示1',
'2' => '显示3',
'0' => '不显示'
],
'value' => '1,2' // 多选时英文逗号分隔,对应选项key值
],
'select' => [
'title' => '下拉选择',
'type' => 'select',
'tips' => '我是提示',
'rules' => '',
'error_tips'=>'',
'options' => [
'1' => '测试1',
'2' => '测试2',
'3' => '测试3'
],
'value' => '2'
],
'array1' => [
'title' => '测试array组件',
'type' => 'array',
'tips' => '',
'rules' => '',
'error_tips'=>'',
'data_list'=>[// 键值名称
'key'=>'标题',
'value'=>'值'
],
'value' => [
'标题1'=>'2'// 默认值
]
],
'value5' => [
'title' => '动态下拉url类型',
'type' => 'selectpage', // 动态下拉
'tips' => '',
'rules' => '',
'error_tips'=>'',
'data_list'=>[
'type'=>'url',//链接地址类型
'url'=>'/cms.flags/index',//链接地址类型
'show-field'=>'title', // 显示字段
'key-field'=>'id',// 存储字段
'search-field'=>'title',// 搜索字段
'and-or'=>'',// 值为and、或者or,search-field为多个时,值为and时表示同时成立反之其中一个成立即可
'order-by'=>'',// 排序:id desc,view asc
'param'=>[
'status'=>'normal' // 指定额外的条件
],
'multiple'=>0,// 多选,1=开启,0=关闭
'pagination'=>0,// 分页,1=开启,0=关闭
'select-only'=>1,// 只读,1开启,0关闭
'enable-lang'=>1,// 启用多语言区分,1开启,0关闭
],
'value' => ''
],
'value4' => [
'title' => '动态下拉table类型',
'type' => 'selectpage',
'tips' => '',
'rules' => '',
'error_tips'=>'',
'data_list'=>[
'type'=>'table',// 数据源来自数据库表
'table'=>'flags',// flags表,不用写表前缀
'show-field'=>'title',
'key-field'=>'id',
'search-field'=>'title,name',
'and-or'=>'or',
'order-by'=>'id desc',
'param'=>[
'status'=>'normal'
],
'multiple'=>1,// 多选,1=开启,0=关闭
'pagination'=>0,// 分页,1=开启,0=关闭
'select-only'=>0,// 只读,1开启,0关闭
'enable-lang'=>1,// 启用多语言区分,1开启,0关闭
],
'value' => ''
],
];
~~~
效果图
![](https://img.kancloud.cn/7c/06/7c06f516d55ea795d0556b5a8b7f050e_780x445.png)
如果配置项过多,可以使用下面方式,生成标签页
## 标签页分组示例
使用标签页布局时,获取的配置结构是不一样的。
~~~
return [
// 自定义名称,获取:$tmp['base']['value1']
'base'=>[
// 标签页标题
'title' => '基础配置',
'item' => [ // 标签页包含的配置项
'value1' => [
'title' => '标题',
'type' => 'text',
'tips' => '提示',
'rules' => 'required;length(3~16)',
'error_tips'=>'值必须',
'value' => ''
],
'value2' => [
'title' => '描述',
'type' => 'textarea',
'tips' => '',
'rules' => '',
'error_tips'=>'',
'value' => ''
],
'radio' => [
'title' => '是否显示',
'type' => 'radio',
'tips' => '',
'rules' => '',
'error_tips'=>'',
'options' => [
'1' => '显示',
'0' => '不显示'
],
'value' => '1'
],
'checkbox' => [
'title' => '多项选择',
'type' => 'checkbox',
'tips' => '',
'rules' => '',
'error_tips'=>'',
'options' => [
'1' => '显示1',
'2' => '显示3',
'0' => '不显示'
],
'value' => '1,2'
],
'select' => [
'title' => '下拉选择',
'type' => 'select',
'tips' => '我是提示',
'rules' => '',
'error_tips'=>'',
'options' => [
'1' => '测试1',
'2' => '测试2',
'3' => '测试3'
],
'value' => '2'
],
'selects' => [
'title' => '下拉多项选择',
'type' => 'selects',
'tips' => '我是提示',
'rules' => '',
'error_tips'=>'',
'options' => [
'1' => '测试1',
'2' => '测试2',
'3' => '测试3'
],
'value' => '2,3'
]
]
],
'more'=>[
'title'=>'更多选项',
'item'=>[
'image' => [
'title' => '图片',
'type' => 'image',
'tips' => '请上传图片',
'rules' => 'required',
'error_tips'=>'请上传图片',
'value' => ''
],
'images' => [
'title' => '图片',
'type' => 'images',
'tips' => '请上传图片',
'rules' => 'required',
'error_tips'=>'请上传图片',
'max_number'=>5,
'value' => ''
],
'date' => [
'title' => '日期',
'type' => 'date',
'tips' => '',
'rules' => 'required',
'error_tips'=>'日期选择',
'value' => ''
],
'datetime' => [
'title' => '日期时间',
'type' => 'datetime',
'tips' => '日期时间',
'rules' => '',
'error_tips'=>'日期时间',
'value' => ''
]
]
]
];
~~~
效果
![](https://img.kancloud.cn/e2/91/e2911da917fbfff236c175c9b3fa508b_781x499.png)
## 获取插件配置
~~~
/**
* $type = 'template' 表示模板应用,$type='addon' 表示插件应用
* $name 插件标识名称
* $module 模板应用会用到,用于确定获取后台模板配置、或前台模板、或其他模块的模板。
* $complete true-表示获取所有结构数组,false-表示获取配置值
*/
get_addons_config($type, $name, $module, $complete)
// 例如获取demo插件配置
get_addons_config('addon','demo');
~~~
## 自定义配置页
如果系统自带的配置页,满足不了你的需求时,您可以自定义配置页,只需在自己的插件目录新建config.html即可。
![](https://img.kancloud.cn/04/6a/046a1e441dbca5a46c7a0893ec438fbe_426x184.png)
在html页面获取的变量有:`$sdata` 里面的值结构就是你写的配置文件结构,你可参考默认的表单生成文件`template/admin/adminlte/appcenter/field.html`。
打印输出:
~~~
<?php dump($sdata);?>
~~~
![](https://img.kancloud.cn/91/c1/91c1d2024360a3a057793e7d3cef7f22_270x224.png)
> 提示:若对自定义配置页仍有疑问,欢迎前往Q群咨询。
- 简介
- 下载与安装配置
- 下载
- 虚拟主机安装
- 虚拟主机必读
- 百度云虚拟主机
- 创业云虚拟主机
- Linux下宝塔安装
- 宝塔一键部署
- Windows下宝塔安装
- phpEnv下安装
- phpStudy下安装
- 伪静态(url重写)
- 安装系统
- 调试模式与env文件
- 重新安装与安装文件说明
- 后台使用帮助
- 后台入口文件
- 首页面板
- 配置中心
- 站点配置
- 邮件配置
- 附件配置
- 应用中心配置
- 前台URL规则配置
- SEO设置
- SEO设置-静态生成
- 文档属性
- 站点模块
- V2.2.2版本 -
- V2.2.3版本 +
- 模型管理
- 栏目管理
- 字段类型与组件
- 前言
- 前端组件
- 动态下拉(selectpage)
- 验证规则
- text 单行文本
- textarea 多行文本
- radio 单选
- checkbox 复选
- select 下拉列表
- selects下拉列表(多)
- selectpage 动态下拉
- editor编辑器
- image图片
- images图片(多)
- number数字
- date日期
- datetime日期和时间
- downfile文件上传
- downfiles文件上传(多)
- array 数组(键值对)
- 内容管理
- 自定义URL
- 多语言
- 界面多语言
- 内容多语言
- 多语言URL地址
- 附件管理
- 应用中心
- 标签语法
- 标签使用必读
- 列表标签
- content 内容列表标签
- contentpage 内容列表分页
- wfpage 瀑布流分页
- filter 筛选标签
- order 排序标签
- 内容标签
- guestbook 留言(表单)标签(废弃)
- form 表单标签
- pre 上一篇标签
- next 下一篇标签
- prenext 上一篇下一篇(高级)标签
- fileinfo 获取附件信息(文件下载)
- 内容分页
- raw 格式化编辑器文本(即将废弃)
- 全局标签
- seo 标签
- channel 栏目标签
- arcone 获取单条文档
- breadcrumb 面包屑导航标签
- adv 站点模块标签
- date 日期格式化标签
- substr字符(标题)截取标签
- volist 循环标签
- language 获取语言列表标签
- lang 特定语言下显示内容标签
- query 查询数据库内容
- include 导入模板文件标签
- 原生PHP与php标签
- map生成位置地图
- thumb 生成缩略图
- addons 插件检测
- 标签管理
- taglist标签(获取标签列表)
- tagarclist根据标签获取文章内容列表
- 导入标签
- 模板开发
- 1. 创建模板
- 2. 模板目录结构
- 3. 模板描述文件(重要) info.ini
- 4. 变量输出格式
- 4. 模板变量
- 5. 获取站点配置
- 6. 模板界面多语言
- 7. 模板静态目录及调用静态文件
- 8. 模板定义插件事件
- 9. 模板搜索页
- 10. 模板配置JSON
- 11. 导入演示数据
- 12. 卸载删除演示数据
- 13. 模板文件打包
- 14. 整站源码打包
- 插件开发
- 1. 创建插件
- 2. 目录结构
- 3. 插件名称类
- 4. 插件信息(info.ini)
- 5. 插件事件
- 6. 配置文件
- 7. install 安装目录
- 8. 创建菜单
- 9. 插件控制器
- 10. 插件视图
- 10-1 插件主题化
- 11. 插件模型
- 12. 模型事件(已废弃)
- 13. 插件内置函数
- 13-1 插件函数库
- 14. 插件多语言
- 15. 插件中间件
- 16. 插件路由
- 17. 插件验证器
- 18. 标签库
- 19. 第三方类库
- 20. 数据库文件导入
- 插件打包
- 后台前端使用帮助
- 二次开发帮助(更新中)
- 后台前端开发帮助
- 路由(链接地址、访问规则)
- URL访问
- 路由定义
- URL生成
- 会员管理
- 前台限制页面登录或权限控制
- 附录
- 数据字典
- 助手函数库
- API接口