一個完整強大的模塊,肯定會有許許多多可以自定義的配置,下面我們來詳細講解模塊配置信息的各項參數。
我們知道,模塊配置信息文件`info.php`是返回一個數組,里面包含了關于模塊的各項信息。
| 參數 | 含義 | 類型 | 必填 |
| --- | --- | --- | --- |
| name | 模塊名 | string | 是 |
| title | 模塊標題 | string | 是 |
| identifier | 模塊唯一標識 | string | 是 |
| icon | 字體圖標 | string | 否 |
| description | 模塊描述 | string | 是 |
| author | 開發者 | string | 是 |
| author\_url | 開發者網址 | string | 否 |
| version | 模塊版本 | string | 是 |
| need\_module | 模塊依賴 | array | 否 |
| need\_plugin | 插件依賴 | array | 否 |
| tables | 數據表 | array | 否 |
| database\_prefix | 表前綴 | string | 否 |
| config | 模塊參數配置 | array | 否 |
| access | 數據授權配置 | array | 否 |
| action | 行為參數配置 | array | 否 |
下面來逐一講解各個參數。
## name - 模塊名
由字母和下劃線組成,建議全部使用小寫字母,如:user、shop等等,因為系統會對應模塊名和數據表名。
## title - 模塊標題
該標題會在頂部導航顯示,也會在模塊管理中顯示。如:門戶、用戶、商城等。
## identifier - 模塊唯一標識
這是區分不同開發者不同模塊的重要信息,格式:模塊名.開發者標識.module,如:`cms.ming.module`。
## icon - 字體圖標
系統內置了字體圖標:`FONT AWESOME`、`GLYPHICONS`,如填寫:"fa fa-user"。
## description - 模塊描述
對模塊進行簡略的描述,以便使用者能快速的了解該模塊的功能或者其他信息。
## author - 開發者
模塊的開發者名稱
## author\_url - 開發者網站地址
開發者網站地址,請填寫完整的url地址
## version - 模塊版本號
格式采用三段式:主版本號.次版本號.修訂版本號,如:1.0.1。以后的模塊升級,模塊版本比較都按這種格式,請務必填寫正確。
## need\_module - 模塊依賴
> 格式\[\[模塊名, 模塊唯一標識, 依賴版本, 對比方式\]\]
有些模塊需要依賴于某個或幾個模塊,那么就必須填寫所依賴的模塊信息,如:
~~~
'need_module' => [
['user', 'user.lwwan.module', '1.0.0']
]
~~~
表示模塊依賴于`user`模塊,并且該模塊的唯一標識符是`user.lwwan.module`,因為不同開發者都可能開發名為`user`的模塊,這樣,模塊唯一標識的作用就體現出來了。
> 其中,模塊名、模塊唯一標識、依賴版本這三個是必填的,如果不填寫對比方式,則默認為“=”,即等于某個版本。
版本比較使用了php的`version_compare`函數,該函數支持的比較操作符有:、 gt、>=、 ge、==、 =、eq、 !=、<> 和 ne。
| 比較操作符 | 含義 |
| --- | --- |
| <、 lt | 小于 |
| <=、 le | 小于等于 |
| \>、 gt | 大于 |
| \>=、 ge | 大于等于 |
| \==、 =、eq | 等于 |
| !=、<>、 ne | 不等于 |
> 注意:此參數區分大小寫,所以它的值應該是小寫的,不能填寫“LG”、“GT”等。
所依賴的模塊需要大于某個版本
~~~
'need_module' => [
['user', 'user.lwwan.module', '1.0.0', '>']
]
// 或者
'need_module' => [
['user', 'user.lwwan.module', '1.0.0', 'gt']
]
~~~
依賴多個模塊
~~~
'need_module' => [
['user', 'user.lwwan.module', '1.0.0', '>'],
['admin', 'admin.lwwan.module', '1.0.1']
]
~~~
## need\_plugin - 插件依賴
> 格式\[\[插件名, 插件唯一標識, 依賴版本, 對比方式\]\]
如果您的模塊依賴有些插件,則需填寫插件依賴,如:
~~~
'need_plugin' => [
['DySms', 'dy_sms.xiaowu.addons', '1.0.0']
]
~~~
其他用法和模塊依賴類似,這里就不贅述了。
## tables - 數據表
如果您的模塊包含了數據表,則需填寫數據表名。比如,cms模塊有兩張表,`cms_article`、`cms_category`,則這么填寫:
~~~
'tables' => [
'goods',
'goods_activity',
]
~~~
> 表名無需填寫表前綴,系統檢測的時候會自動帶上系統設置的表前綴。
## database\_prefix - 表前綴
模塊的數據表名建議格式為:表前綴+模塊名+控制器,比如:`lw_admin_config`,那么`database_prefix`參數則填寫:`lw_`。填寫了表前綴后,系統在安裝模塊時,會將此表前綴替換成目標系統所設置的表前綴,方便不同用戶安裝您的模塊。
## config - 模塊參數配置
如果模塊需要自定義一些配置信息,則需配置`config`參數。
它的用法和[創建表單](http://www.hmoore.net/m22543/lwwanphp/1073099)的方法一致,可設置系統內置的10多種表單類型,比如:單選,復選、下拉、單行文本,編輯器等等。
我們在開發微信模塊的時候,需要給用戶設置appid等信息,那么可以這樣設置:
~~~
'config' => [
['type'=>'text', 'name'=>'appid', 'title'=>''AppId', 'tips'=>'應用ID,登錄 微信公眾平臺 查看'],
['type'=>'text', 'name'=>''secret', 'title'=>'AppSecret', 'tips'=>'應用密鑰,登錄 微信公眾平臺 查看'],
['type'=>'text', 'name'=>''token', 'title'=>'Token', 'tips'=>'令牌,用于接口驗證,登錄 微信公眾平臺,在【基本配置】中設置'],
['type'=>'text', 'name'=>''aeskey', 'title'=>'EncodingAESKey','tips'=> '消息加解密密鑰,登錄 微信公眾平臺,在【基本配置】中設置'],
]
~~~
> 如何獲取模塊的配置,請參考[方法參考](http://www.hmoore.net/m22543/lwwanphp/1077529)
## action - 行為配置
用于定義行為規則,具體參數如下
* `module`所屬模塊(必須)
* `name`行為標識(同個模塊內,不得重復)(必須)
* `title`行為名稱(必須)
* `remark`行為描述(必須)
* `rule`行為規則
* `log`日志規則
* `status`狀態(0-禁用,1-啟用)默認為禁用
~~~
'action' => [
[
'module' => 'cms',
'title' => '添加文章',
'remark' => '添加文章',
'name' => 'article_add',
'log' => '用戶:[user|get_nickname] 在[time|format_time]添加了文章'
],
[
'module' => 'cms',
'name' => 'article_delete',
'title' => '刪除文章',
'remark' => '刪除文章',
'log' => '用戶:[user|get_nickname] 在[time|format_time]刪除了文章',
'status' => 1
],
],
~~~
- 序言
- 基礎
- 開發規范
- 目錄結構
- 下載安裝
- 快速開發
- 創建一個表格
- 設置頁面標題
- 設置頁面提示
- 創建右側按鈕
- 創建頂部按鈕
- 隱藏和替換按鈕
- 隱藏第一列多選框
- 一次添加多行列表
- 添加一列
- 字段類型
- status
- text
- text.edit
- picture
- callback
- img_url
- pictures
- link
- files
- switch(2.0+)
- 設置表格主鍵
- 創建一個頂部搜索
- 調用js
- 創建快捷搜索
- 添加數量索引
- 添加表頭排序(2.0.0)
- 添加一個右側彈窗按鈕
- 創建一個表單
- 表單字段說明
- 文本框
- 密碼框
- 單選框
- 復選框
- 單圖上傳
- 多圖上傳
- 下拉框
- 多行文本
- 隱藏域
- 單文件上傳
- 多文件上傳
- 富文本編輯器
- 靜態文本
- 排序
- 數字輸入框
- 選擇圖標
- 關聯聯動
- 多級聯動
- selectAjax(2.0+)
- 使用自定義JS文件
- 使用自定義CSS文件
- 公用函數
- 框架common
- is_signin
- data_auth_sign
- parse_attr
- parse_sql
- get_client_ip
- get_file_url
- get_files_url
- get_thumb
- hook
- p
- get_location
- format_linkage
- format_bytes
- action_log
- parse_action
- execute_action
- role_auth
- module_config
- addons_menage
- addons_config
- get_addons_class
- addons_action_exists
- addons_model_exists
- addons_validate_exists
- get_addons_model
- get_model_name
- get_model_title
- get_model_type
- get_model_table
- is_default_field
- table_exist
- implode_attr
- parse_array
- parse_name
- parse_config
- addons_parse_config
- addons_action
- get_adminname
- get_nickname
- set_config_value
- get_file_name
- format_time
- get_order_sn
- get_msectime
- timeToHIS
- getMobileType
- curl_post
- friend_date
- str2sub
- createLinkagesToken
- get_level_data
- get_level_pid
- get_level_key_data
- clear_js
- get_sex
- get_age
- user_is_signin
- user_role_auth
- filter
- filter_data
- time_tran
- search_time
- time2string
- check_password
- check_mobile
- push
- common模塊
- 模塊開發
- 創建模塊信息
- 安裝模塊
- 模塊配置
- 控制器
- 創建菜單
- 第一個控制器
- 方法參考
- 導出模塊
- 插件開發
- 插件結構
- 插件信息
- 管理界面的字段信息
- 新增或編輯字段
- 插件鉤子
- 數據庫表前綴
- 插件配置
- 插件開發
- 控制器
- 模型
- 驗證器
- 方法參考
- 自定義表
- 接口開發
- 新增接口
- 請求參數/返回參數
- 業務流程
- 應用管理
- MOCK接口
- 其他說明
- Redis使用說明
- 圖片上傳說明
- CMS模塊說明
- 函數參考
- 商城模塊說明
- 購物流程
- 直接購買提交購物訂單
- 購物車流程
- 商品添加到購物車
- 購物車中商品數量變化
- 購物車提交訂單
- 單客服使用說明
- 服務部署
- 客戶端調用
- 后臺客服端使用
- 更新說明(2.0+)