<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之旅 廣告
                [TOC] ***** 模板二開可以參考官方開發的兩套模板插件(diy_default1、diy_default2) ![](https://img.kancloud.cn/d9/88/d988865cbcf6b47b7f6b475f33ce08d8_961x640.png) # 自定義模板開發 ## **后端** 創建插件,此處命名為:my_template 目錄結構如下: ``` │ ├─my_template 模板插件名稱 │ │ ├─component 組件目錄 │ │ │ ├─controller 組件控制器目錄 │ │ │ │ ├─Text.php 文本組件控制器 │ │ │ ├─view │ │ │ │ ├─text 文本組件目錄 │ │ │ │ │ ├─css 樣式文件 │ │ │ │ │ ├─img 圖片資源 │ │ │ │ │ ├─js 腳本文件 │ │ ├─config │ │ │ ├─diy_view.php 存放自定義組件、鏈接等數據結構 │ │ │ ├─event.php 事件鉤子 │ │ │ ├─info.php 插件信息 │ │ ├─event 事件執行目錄 │ │ │ ├─DiyIcon.php 擴展自定義圖標庫 │ │ │ ├─TemplateInfo.php 自定義模板信息鉤子 │ │ │ ├─UseTemplate.php 使用自定義模板鉤子 │ │ ├─shop │ │ │ │ ├─view │ │ │ │ │ ├─public │ │ │ │ │ │ ├─css │ │ │ │ │ │ │ ├─comp_iconfont.css 組件圖標樣式文件 │ │ │ │ │ │ │ ├─diy_iconfont.css 自定義圖標庫樣式文件 │ │ │ │ │ │ ├─img 模板所用到的圖片資源 │ │ │ │ │ │ │ ├─cover.png 模板封面圖 │ │ │ │ │ │ │ ├─preview.png 模板預覽圖 ``` ### diy_view.php(定義自定義組件、鏈接等數據結構) * [ ] 組件類型: * SYSTEM:基礎組件 * PROMOTION:營銷組件 * EXTEND:擴展組件 * [ ] 推薦在[JSON格式化工具](https://qqe2.com/)中定義數據結構 * [ ] 定義數據結構時要注意以下事項: * 字段命名要`簡短`、多個單詞要使用`小駝峰式命名法`,例如:text、color、goodsIds、subTitle * 跳轉鏈接對象不能設置為空,里面至少要有一個字段,例如: 錯誤寫法:"link" : {} **正確寫法:"link" : { "name" : "" }** * **定義顏色字段時建議大寫并且保留6位數**,例如:#999999、#FFFFFF、#303133,不推薦使用縮寫,后臺裝修時會看到顏色值閃動,#999—>#999999 * 組件的數據結構如下: ``` { "text": "我是擴展文本組件", "link": { "name": "" }, "color": "#303133", "goodsIds": [] } ``` ### component ``` <?php return [ 'util' => [ [ 'name' => 'TextExtend', // 組件控制器名稱 'title' => '擴展文本', // 組件名稱 'type' => 'EXTEND', // 組件類型 'value' => '{"text":"我是擴展文本組件","link":{"name":""},"color":"#303133","goodsIds":[]}', // 數據結構 'sort' => '50000', // 排序號范圍:50000~60000 'support_diy_view' => '', // 支持的自定義頁面(為空表示公共組件都支持) 'max_count' => 0, // 限制添加次數,0表示可以無限添加該組件 'is_delete' => 0, // 組件是否可以刪除,0 允許,1 禁用 'icon' => 'icon-wenben', // 組件字體圖標 ], ], 'link' => [] ]; ``` ### 模板信息 文件路徑:**event/TemplateInfo.php** 代碼如下: ``` <?php namespace addon\my_template\event; /** * 自定義模板信息 */ class TemplateInfo { /** * 模板數據 * @param $params * @return array */ public function handle($params) { if ($params[ 'name' ] == '' || $params[ 'name' ] == '模板標識') { $use_template = new UseTemplate(); $info = [ 'title' => '模板名稱', 'name' => '模板標識', 'cover' => __ROOT__ . '/addon/my_template/shop/view/public/img/cover.png', 'preview' => __ROOT__ . '/addon/my_template/shop/view/public/img/preview.png', 'desc' => '這里填寫模板描述', 'page' => $use_template->getIndexPage(), // 設置要編輯第一個的頁面 'price' => 0, // 模板價格 ]; return $info; } } } ``` ### 使用自定義模板 ``` namespace addon\my_template\event; use app\model\web\DiyView as DiyViewModel; /** * 使用自定義模板 */ class UseTemplate { /** * 模板數據 * @param $params * @return array */ public function handle($params) { if ($params[ 'name' ] == 'official_default_round') { $diy_view = new DiyViewModel(); // 添加模板頁面 $res = $diy_view->addTemplatePage([ 'site_id' => $params[ 'site_id' ], 'name' => $params[ 'name' ], 'page' => [ $this->index_page, $this->goods_category_page ], // 自定義頁面集合 ]); return $res; } } // 定義自定義頁面數據 private $index_page = []; private $goods_category_page = []; // 可以自行添加更多的自定義頁面,要加入到page集合中,如下 private $promote_page = []; private $micro_page = []; } ``` ### 定義組件 組件結構 文件路徑:`config/diy_view.php` xxxxxxxxxx ### 定義自定義鏈接 xxxxxxxxxx ### 擴展圖標庫 xxxxxxxxxx ## 組件 定義組件結構 ### 前端 uni-app # 固定模板開發
                  <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>

                              哎呀哎呀视频在线观看