## 配置文件
插件配置文件用于給到用戶自定義一些選項,用戶安裝后,可根據需要靈活配置你的插件。
目前支持text、textarea、radio、checkbox、select、image、images、date、datetime、array組件。
組件可前往這里了解:[字段類型與組件](%E5%89%8D%E8%A8%80.md)
## 配置后的效果

## 文件路徑
```
addons
├─demo
│ ├─Demo.php
│ ├─config.php 配置文件
│ ├─info.ini
```

## 無標簽頁示例
~~~
<?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' => ''
],
];
~~~
效果圖

如果配置項過多,可以使用下面方式,生成標簽頁
## 標簽頁分組示例
使用標簽頁布局時,獲取的配置結構是不一樣的。
~~~
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' => ''
]
]
]
];
~~~
效果

## 獲取插件配置
~~~
/**
* $type = 'template' 表示模板應用,$type='addon' 表示插件應用
* $name 插件標識名稱
* $module 模板應用會用到,用于確定獲取后臺模板配置、或前臺模板、或其他模塊的模板。
* $complete true-表示獲取所有結構數組,false-表示獲取配置值
*/
get_addons_config($type, $name, $module, $complete)
// 例如獲取demo插件配置
get_addons_config('addon','demo');
~~~
## 自定義配置頁
如果系統自帶的配置頁,滿足不了你的需求時,您可以自定義配置頁,只需在自己的插件目錄新建config.html即可。

在html頁面獲取的變量有:`$sdata` 里面的值結構就是你寫的配置文件結構,你可參考默認的表單生成文件`template/admin/adminlte/appcenter/field.html`。
打印輸出:
~~~
<?php dump($sdata);?>
~~~

> 提示:若對自定義配置頁仍有疑問,歡迎前往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接口