<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之旅 廣告
                上期說了最簡單最原始的模塊制作 哪個方法是簡單方便快捷,弊端就是不夠個性化因為都是繼承了 C M F S等我們不方便修改那么這期咱們就說說怎么個性化不用去集成那些類去做模塊。 以下教程起碼有一定的基礎才能看得懂 文字會很少代碼量比較大,看不懂的就不要看了看懂的點個贊就好。 以搜索模塊為例: `Info.php` ~~~ <?php namespace?app\search;?//命名空間到?search?目錄 class?Info{ public?static?$keyword;????//關鍵字,也是目錄名 } ~~~ `config.php` ~~~ <?php return?[ //注意到沒?這里就僅僅一行就足夠了?不需要的配置項之間咔嚓掉就可以了?更權威的等待官方文檔? 'system_dirname'????=>basename(__DIR__), ]; ~~~ `admin\_menu.php` 和常規模塊配置一樣的方法就不注釋了 請看上一篇文章 ~~~ <?php return?[ 'search'=>[ 'title'=>'search', 'sons'?=>[ [ 'title'=>'功能設置', 'sons'?=>[ [ 'title'=>'參數設置', 'link'?=>'setting/index', ? ], ?[ 'title'=>'熱搜詞管理', 'link'?=>'content/index', ? ], ], ], ], ], ]; ~~~ admin目錄 Setting.php ~~~ <?php namespace?app\search\admin;? use?app\common\controller\admin\Setting?AS?_Setting;?//導入app\common\controller\admin\Setting?命名為?_Setting //繼承_Setting class?Setting?extends?_Setting{ /** ?*?參數設置 ?*?{@inheritDoc} ?*?@see?\app\common\controller\admin\Setting::index() ?調用父類的index方法 ?*/ public?function?index($group=null){ return?parent::index($group); } } ~~~ 熟悉TP的人會問 這里應該是?`return $this->fetch(); `才對 但是我可以很高興的告訴你 這里吧需要 只要調用 ~~~ parent::index ~~~ 即可 他會輸出模板 讀取你的配置 配置參數下面會講 當然了你要想自己輸出一個模板也是可以的 創建對應的文件夾和文件即可 Content.php ~~~ <?php namespace?app\search\admin; use?app\common\controller\AdminBase; use?app\search\model\Content?AS?Model; use?app\common\traits\AddEditList; class?Content?extends?AdminBase{ use?AddEditList; protected?$model; protected?$form_items=[]; protected?$list_items; protected?$tab_ext; protected?function?_initialize(){ parent::_initialize(); $this->model=new?Model(); $this->form_items=[['text','keyword','關鍵詞'],['text','searchnums','搜索次數'],]; } /** ?*?首頁 ?*?@return?mixed|string ?*/ public?function?index(){ $this->tab_ext=['page_title'=>'熱搜管理',]; $this->list_items=[['keyword','關鍵詞名稱','text.edit'],['searchnums','搜索次數','text.edit'],]; $data=$this->model->order('searchnums','desc')->select(); return?$this->getAdminTable($data); } /** ?*?添加 ?*?@return?mixed|string ?*/ public?function?add(){ $this->tab_ext=['page_title'=>'添加熱搜詞',]; return?$this->addContent(); } /** ?*?修改 ?*?@param?null?$id ?*?@return?mixed|string ?*/ public?function?edit($id=null){ $this->tab_ext=['page_title'=>'修改熱搜詞',]; if(empty($id))?$this->error('缺少參數'); $info=$this->getInfoData($id); return?$this->editContent($info,auto_url('index')); } /** ?*?刪除 ?*?@param?$ids ?*/ public?function?delete($ids){ if(empty($ids)){ $this->error('ID有誤'); } $ids=is_array($ids)?$ids:[$ids]; if($this->model->destroy($ids)){ $this->success('刪除成功','index'); }else{ $this->error('刪除失敗'); } } } ~~~ 要是你看過插件教程 這里肯定不陌生 幾乎一模一樣 都是導入了`app\common\traits\AddEditList` 我們的個性化模塊主要就是靠這個實現的 因為他有20多種字段供我們使用并且不需要去創建模型功能 下期我們著重分析下這個文件 因為現在我也不大會![](http://img.baidu.com/hi/jx2/j_0009.gif)其實還是等著官方教材比較好![](http://img.baidu.com/hi/jx2/j_0056.gif) model 目錄 Content.php 沒啥介紹的就是定義了表前綴 這個可以不要 只要把 上面文件中的?`$this->model `改為db類即可 不過后臺還是建議用模型功能 純屬個人習慣 install目錄 info.php 模塊信息定義了各種信息 自己打開就可以看到有注釋 Install.php 安裝文件沒有安裝流程的可以去掉 install.sql 安裝的SQL 定義了我們的設置參數和表信息 Uninstall.php 卸載 hook 目錄 模塊鉤子目錄 也可以放到`application\common\hook?` 我個人覺得模塊中的鉤子調用放到自己的模塊下好維護 關于鉤子的下期繼續分析 因為鉤子太強大了
                  <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>

                              哎呀哎呀视频在线观看