<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                一個完整強大的模塊,肯定會有許許多多可以自定義的配置,下面我們來詳細講解模塊配置信息的各項參數。 我們知道,模塊配置信息文件`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 | 否 | | trigger | 觸發器配置 | array | 否 | 下面來逐一講解各個參數。 ## name - 模塊名 由字母和下劃線組成,建議全部使用小寫字母,如:cms、user、shop等等,因為系統會對應模塊名和數據表名。 ## title - 模塊標題 該標題會在頂部導航顯示,也會在模塊管理中顯示。如:門戶、用戶、商城等。 ## identifier - 模塊唯一標識 這是區分不同開發者不同模塊的重要信息,格式:模塊名.開發者標識.module,如:`cms.ming.module` 。 ## icon - 字體圖標 系統內置了三套字體圖標:`SIMPLE LINE ICONS`、`FONT AWESOME`、`GLYPHICONS` ,如填寫:"fa fa-user"。當然,如果還不滿足要求,您可以自己添加別的字體圖標庫。 ## description - 模塊描述 對模塊進行簡略的描述,以便使用者能快速的了解該模塊的功能或者其他信息。 ## author - 開發者 模塊的開發者名稱 ## author_url - 開發者網站地址 開發者網站地址,請填寫完整的url地址,如:http://www.dolphinphp.com ## version - 模塊版本號 格式采用三段式:主版本號.次版本號.修訂版本號,如:1.0.1。以后的模塊升級,模塊版本比較都按這種格式,請務必填寫正確。 ## need_module - 模塊依賴 >[info] 格式[[模塊名, 模塊唯一標識, 依賴版本, 對比方式]] 有些模塊需要依賴于某個或幾個模塊,那么就必須填寫所依賴的模塊信息,如: ~~~ 'need_module' => [ ['cms', 'cms.ming.module', '1.0.0'] ] ~~~ 表示模塊依賴于`cms`模塊,并且該模塊的唯一標識符是`cms.ming.module`,因為不同開發者都可能開發名為`cms`的模塊,這樣,模塊唯一標識的作用就體現出來了。 >[info] 其中,模塊名、模塊唯一標識、依賴版本這三個是必填的,如果不填寫對比方式,則默認為“=”,即等于某個版本。 版本比較使用了php的`version_compare`函數,該函數支持的比較操作符有:<、 lt、<=、 le、>、 gt、>=、 ge、==、 =、eq、 !=、<> 和 ne。 | 比較操作符 | 含義 | | --- | --- | | <、 lt | 小于 | | <=、 le | 小于等于 | | >、 gt | 大于 | | >=、 ge | 大于等于 | | ==、 =、eq | 等于 | | !=、<>、 ne | 不等于 | >[danger] 注意:此參數區分大小寫,所以它的值應該是小寫的,不能填寫“LG”、“GT”等。 所依賴的模塊需要大于某個版本 ~~~ 'need_module' => [ ['cms', 'cms.ming.module', '1.0.0', '>'] ] // 或者 'need_module' => [ ['cms', 'cms.ming.module', '1.0.0', 'gt'] ] ~~~ 依賴多個模塊 ~~~ 'need_module' => [ ['cms', 'cms.ming.module', '1.0.0', '>'], ['admin', 'admin.dolphinphp.module', '1.0.1'] ] ~~~ ## need_plugin - 插件依賴 >[info] 格式[[插件名, 插件唯一標識, 依賴版本, 對比方式]] 如果您的模塊依賴有些插件,則需填寫插件依賴,如: ~~~ 'need_plugin' => [ ['sms', 'sms.ming.plugin', '1.0.0'] ] ~~~ 其他用法和模塊依賴類似,這里就不贅述了。 ## tables - 數據表 如果您的模塊包含了數據表,則需填寫數據表名。比如,cms模塊有兩張表,`cms_article`、`cms_category`,則這么填寫: ~~~ 'tables' => [ 'cms_article', 'cms_category' ] ~~~ >[warning] 表名無需填寫表前綴,系統檢測的時候會自動帶上系統設置的表前綴。 ## database_prefix - 表前綴 模塊的數據表名建議格式為:表前綴+模塊名+控制器,比如:`dp_admin_config`,那么`database_prefix`參數則填寫:`dp_`。填寫了表前綴后,系統在安裝模塊時,會將此表前綴替換成目標系統所設置的表前綴,方便不同用戶安裝您的模塊。 ## config - 模塊參數配置 如果模塊需要自定義一些配置信息,則需配置`config`參數。 它的用法和[添加表單項通用方法](添加表單項通用方法.md)的`addFormItems`方法一致,可設置系統內置的30多種表單類型,比如:單選,復選、下拉、單行文本,編輯器、聯動等等。 我們在開發微信模塊的時候,需要給用戶設置appid等信息,那么可以這樣設置: ~~~ 'config' => [ ['text', 'appid', 'AppId', '應用ID,登錄 微信公眾平臺 查看'], ['text', 'secret', 'AppSecret', '應用密鑰,登錄 微信公眾平臺 查看'], ['text', 'token', 'Token', '令牌,用于接口驗證,登錄 微信公眾平臺,在【基本配置】中設置'], ['text', 'aeskey', 'EncodingAESKey', '消息加解密密鑰,登錄 微信公眾平臺,在【基本配置】中設置'], ] ~~~ 不同類型的參數是不同的,這個我們在后面的章節會講到,這里不理解不要緊,只要知道如果需要設置配置信息,則按這種格式去配置。 如果需要配置分組,那么可以這樣寫: ~~~ 'config' => [ ['group', [ '分組1' => [ ['radio', 'status1', '單選', '', ['1' => '開啟', '0' => '關閉'], 1], ['text', 'text1', '單行文本', '提示', 'x'], ['textarea', 'textarea1', '多行文本', '提示'], ['checkbox', 'checkbox1', '多選', '提示', ['1' => '是', '0' => '否'], 0], ], '分組2' => [ ['textarea', 'textarea2', '多行文本', '提示'], ['checkbox', 'checkbox2', '多選', '提示', ['1' => '是', '0' => '否'], 0], ] ] ] ] ~~~ >[info] 配置好這些內容后,安裝模塊后才生效,并且需要在某個控制器執行 **return $this->moduleConfig();** 即可自動生成這些配置的頁面 >比如在cms模塊的Confg控制器中的index方法調用 **return $this->moduleConfig();** ~~~ class Config extends Admin { /** * 文章設置頁 * @return mixed */ public function index() { // 調用ModuleConfig()方法即可 return $this->moduleConfig(); } } ~~~ 那么只要訪問這個方法,即可管理模塊配置信息。 >[info] 如何獲取模塊的配置,請參考[方法參考](方法參考.md) ## access - 授權配置 >[danger] 注意:1.3.2版本以后的數據授權,請查看[數據授權(1.3.2+)](數據授權.md) 有些模塊可能有這樣的需求,需要給不同用戶分配不同的權限,比如某些用戶只能看某些內容,那么可以填寫授權配置。 >[danger] 注意:這里的授權配置只是提供給您一個方便的操作去管理和設置權限節點,獲取到某個用戶的授權之后該如何操作則需要開發者自己去實現。 ~~~ 'access' => [ 'group' => [ "tab_title" => '部門授權', "table_name" => "admin_group", "primary_key" => "id", "parent_id" => "pid", "node_name" => "name" ], ], ~~~ * `group` 分組標識,名字自定義,可以設置多個授權。 * `tab_title` tab導航標題 * `table_name` 表名,表示要關聯哪張表,不需要填寫表前綴,這里表示部門表。 * `primary_key` 主鍵字段名 * `parent_id` 父級id字段名 * `node_name` 權限節點字段名 * `model_name` 模型名(可選) * `page_tips` 頁面提示(可選,1.0.3+) * `tips_type` 提示類型(可選,默認為info,1.0.3+) `dp_admin_group`數據表有如下三個字段,分別對應`primary_key`、`parent_id`、`node_name`。 ![](https://box.kancloud.cn/ec0d6189920971c72a6e20a2a316f228_264x93.png) 安裝模塊之后,在“用戶管理”中,點擊操作欄的![](https://box.kancloud.cn/9e830474cbd053247e05658608fbd95a_34x31.png) 按鈕,可進入授權頁面。 ![](https://box.kancloud.cn/c05f8b6e5cf5e41b68c8e1c3f0b4aa02_637x493.png) 這里出現的節點,是從上面定義的表`dp_admin_group`獲取的,這里設置了授權之后,在需要判斷當前用戶或者某個用戶是否有某些權限,可以使用`Access`模型的`getAuthNode`方法和`checkAuthNode`方法。詳細用法在“用戶管理”-“數據授權”章節查看。 ### 按模型獲取數據 以上說的是讀取的數據在同一張表上,如果有些數據在另外一張表,那么就不好處理了。比如上面的例子,部門名稱在另外一張表,那么用以上的方法就做不到了。 如果遇到這樣的需求,可以設置模型名。 ~~~ 'access' => [ 'group' => [ "tab_title" => '部門授權', "table_name" => "admin_group", "primary_key" => "id", "parent_id" => "pid", "node_name" => "name", "model_name" => 'Group' ], ], ~~~ 這樣配置的話,那你必須在你模塊下有名為`Group`的模型文件,比如路徑為:`\app\模塊名\model\Group.php` ~~~ 'access' => [ 'group' => [ "tab_title" => '部門授權', "table_name" => "admin_group", "primary_key" => "id", "parent_id" => "pid", "node_name" => "name", "model_name" => 'User' ], ], ~~~ 如果這樣定義,那么必須存在`\app\模塊名\model\User.php`這個文件。 除此之外,該模型下必須有一個特定的方法,方法名為`access`,你只需在這個方法返回你需要展示的數據即可。 >[info]這種方法靈活性比較大,可以隨意查詢數據,只要返回的數據中,有包含上面設置的三個字段名id、pid、name即可。 ## 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 ], ], ~~~ ## trigger - 觸發器配置 針對模塊參數配置(config)可設置觸發器,指定某個表單項的值為某個值時顯示某些表單項。 比如模塊參數配置如下: ~~~ 'config' => [ ['text', 'appid', 'AppId', '應用ID,登錄 微信公眾平臺 查看'], ['text', 'secret', 'AppSecret', '應用密鑰,登錄 微信公眾平臺 查看'], ['text', 'token', 'Token', '令牌,用于接口驗證,登錄 微信公眾平臺,在【基本配置】中設置'], ['text', 'aeskey', 'EncodingAESKey', '消息加解密密鑰,登錄 微信公眾平臺,在【基本配置】中設置'], ] ~~~ 我們希望當用戶填寫`appid`為`123`時才顯示`secret`表單項,當`secret`填寫`456`時才顯示`token`和`aeskey`。 ~~~ // 觸發器 'trigger' => [ ['appid', '123', 'secret'], ['secret', '456', 'token,aeskey'] ] ~~~ 具體用法請參考[設置觸發器](設置觸發器.md)章節。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看