<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>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ## 創建后臺菜單 菜單數據以數組形式定義,定義好之后可以通`create_menu`函數手動創建菜單,通過`del_menu`函數來手動刪除菜單。當然,除了以上方式還支持系統自動判斷導入菜單,請參考下面的自動導入方式。 ## 字段說明 <blockquote class="danger"><p>2.1.220220版本之前,字段需要填寫完整</p></blockquote> | 字段名 | 說明 | 默認值 | 是否必填 | | --- | --- | --- | --- | | parent_id | 父菜單ID或父菜單的name,默認0,表示最頂級 | 0 | - | | title | 菜單名稱,菜單多語言目前需要在admin_route后臺路由事件中手動導入菜單語言包 | - | 必填 | | name | 權限規則 | - | 必填 | | route | 路由 | | - | | icon| 圖標 | fas fa-align-ustify/far fa-circle | - | | remark | 備注 | | -| | weigh | 排序 | 0 | - | | type | 類型:0-權限規則,1-菜單,2-菜單頭(提供的額外標識) | 1 | - | | child | 子級菜單,有子級的話按一級菜單字段填寫即可 | - | - | 1. name,權限規則 寫法:控制器/方法,二級文件夾則是文件夾名/控制器/方法,注意二級需要填寫路由 2. route,路由地址 寫法:文件夾名.控制器/方法,常用于有文件夾的情況,注意是“點” 3. icon,圖標 基于`fontawesome`,一級菜單默認為`fas fa-align-justify`,二級菜單默認`far fa-circle` 圖標地址:<a href="https://fa5.dashgame.com/#/圖標">https://fa5.dashgame.com/#/圖標</a> 4. type,菜單類型 未填寫`type`時系統會自動判斷菜單類型,在認為有子級情況下認為是菜單。若有特殊情況,您需要填寫`type`字段 ## 自動導入示例 在插件名稱類里面增加公共屬性`$menu`,在安裝時檢測到有這個屬性就會自動導入,另外在`卸載`、`啟用`、`禁用`、`更新`等操作時系統會自動對菜單進行相應的操作,例如插件禁用,菜單也會被禁用。 > 注意:如果菜單已存在并且這個菜單不屬于該插件就不會導入,如果已存在,屬于該插件則是更新菜單。 > 插件升級操作時,同樣會根據menu導入,如果存在則是更新該菜單,如有額外處理,可在upgrade方法中操作 ~~~ <?php declare (strict_types=1); namespace addons\demo; use think\Addons; class Demo extends Addons { // 菜單 public $menu = [ [ 'title'=>'插件測試', 'name'=>'demo', 'child'=>[ ['title'=>'查看','name'=>'demo/index'], ['title'=>'添加','name'=>'demo/add'], ['title'=>'修改','name'=>'demo/edit'], ['title'=>'刪除','name'=>'demo/del'], ] ] ]; public function install() { return true; } public function uninstall() { return true; } } ~~~ ## 菜單多語言 在插件目錄,在data目錄下創建zh-cn.php文件,如下圖 ![](https://img.kancloud.cn/a1/45/a14511db706c16ac94ad71d4e4739bdc_212x111.png) 目前后臺內置的中英語言包、因此在上面講的$menu變量里面title全部寫成英文,然后下面的寫上英文跟中文的對照。 ~~~ <?php return [ 'Addon test' => '插件測試' ]; ~~~ 支持其他語言包寫法,例如繁體中文命名為:zh-tw.php,那么代碼如下: ~~~ <?php return [ 'Addon test' => '插件測試' ]; ~~~ 創建文件后我們需要在插件初始化時加載語言包 ~~~ public function addonsInitHook() { // 獲取語言包對象 $lang = app()->lang; // 加載語言包,$this->addon_path 插件目錄,DIRECTORY_SEPARATOR 是 '/' 或 '\',$lang->getLangset() 是當前語言 $lang->load($this->addon_path.'data'.DIRECTORY_SEPARATOR.$lang->getLangset().'.php'); } ~~~ ## 手動導入 如下,我們可以創建PHP文件,放到插件的data目錄下,如下 ![](https://img.kancloud.cn/32/5c/325c9630822f033e706715b5654217aa_294x148.png) ~~~ <?php return [ [ // 父菜單ID或父菜單name或0 "parent_id" => 57, // 標題 "title" => '菜單名稱', // 權限認證規則 "name"=>"createhtml", // 路由地址 "route" => "", // fontawesome 圖標 "icon" => 'fas fa-print', // 備注 "remark" => "", // 排序 "weigh" => 10, // 菜單類型 "type" => 1, // 子級 "child"=>[ [ // 標題 "title" => '菜單名稱1', // 權限認證規則 "name"=>"createhtml/index1", // 子級 "child"=>[ ["title" => '菜單名稱2',"name"=>"createhtml/index",] ] ], [ // 標題 "title" => '菜單名稱3', // 權限認證規則 "name"=>"createhtml/index", ] ] ], ]; ~~~ 在安裝的時候導入,使用`create_menu`方法導入。導入后無需管禁用、啟用與卸載的操作了,系統會自動去操作菜單。 ~~~ public function install() { // 菜單數組文件路徑 $menu = include $this->addon_path.'data'.DIRECTORY_SEPARATOR.'menu.php'; // 參數一給路徑,參數二給當前插件的標識 create_menu($menu,$this->getName()); return true; } ~~~ ## 方法的使用 - create_menu 創建菜單 參數1為菜單數組,參數2為菜單屬于的插件標識。 > 注意:如果菜單已存在并且這個菜單不屬于該插件就不會導入,如果已存在,屬于該插件則是更新菜單 ``` // 在插件里面可以直接獲取到插件標識,當然你也可以直接寫上你的插件標識 create_menu($menu, $this->getName()); ``` - status_menu 更改狀態:啟用與禁用. 參數1為:1=啟用,0=禁用,參數2為插件名稱標識 ~~~ status_menu(1, $this->getName()); // 啟用菜單 ~~~ ~~~ // 例如插件叫demo status_menu(0, 'demo'); // 禁用demo的菜單 ~~~ - del_menu 刪除菜單 ~~~ // 參數1為插件標識 del_menu($name); ~~~
                  <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>

                              哎呀哎呀视频在线观看