上期說了最簡單最原始的模塊制作 哪個方法是簡單方便快捷,弊端就是不夠個性化因為都是繼承了 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多種字段供我們使用并且不需要去創建模型功能
下期我們著重分析下這個文件 因為現在我也不大會其實還是等著官方教材比較好
model 目錄
Content.php 沒啥介紹的就是定義了表前綴 這個可以不要 只要把 上面文件中的?`$this->model `改為db類即可 不過后臺還是建議用模型功能 純屬個人習慣
install目錄
info.php 模塊信息定義了各種信息 自己打開就可以看到有注釋
Install.php 安裝文件沒有安裝流程的可以去掉
install.sql 安裝的SQL 定義了我們的設置參數和表信息
Uninstall.php 卸載
hook 目錄 模塊鉤子目錄 也可以放到`application\common\hook?` 我個人覺得模塊中的鉤子調用放到自己的模塊下好維護
關于鉤子的下期繼續分析 因為鉤子太強大了
- 空白目錄
- 平日使用的小應用,小技巧.
- 小技巧,二級域名綁定
- 需要的按年月日發帖量和點擊排序的使用
- 每周賺取的積分排行使用
- 齊博x1第三季《模板風格的制作》系列
- 導航的高亮處理
- Default下index中的模板分析
- 005-新建一個空模板并在后臺選擇
- 008-模板頁面之間的繼承
- 010-對比系統布局模板添加一些必要代碼
- 015-欄目的調用3
- 017-欄目的調用5
- 019-模塊的路徑訪問
- 002-前臺模板index_style目錄的分析
- 004-風格樣式資源目錄public/static
- 006-增加一個布局模板layout
- 007-用{block}標記來分割布局模板
- 011-加一個導航把系統后臺的菜單調出
- 013-欄目的調用1
- 014-欄目的調用2
- 016-欄目的調用4
- 018-欄目的終極方法get_sort
- 020-插件的路徑訪問
- 神盾工具箱007-標簽云
- 標簽云上線啦
- 云標簽(更新版本1.2)
- 云標簽(更新版本1.3)
- 標簽云(更新1.4)
- 標簽云(更新1.8)
- 標簽云(更新3.0)
- 標簽云(更新3.1)
- 標簽云(更新3.3)
- 齊博x1第一季《新手入門》系列
- 001-下載安裝x1
- 002-認識齊博x1的后臺
- 003-系統設置之基本設置
- 004-系統設置之會員注冊
- 005-系統設置之郵箱接口設置
- 006-系統設置之水印設置
- 007-系統設置之聯系方式
- 008-系統設置之短信接口
- 009-系統設置之登錄接口
- 010-系統設置之其它設置
- 011-數據庫工具
- 012-會員管理
- 013-模塊的簡單說明
- 014-偽靜態的相關設置
- 齊博x1第二季《基本數據操作》系列
- 001-標簽的使用
- 002-標簽的使用
- 003系統參數的調用
- 004-列表頁的內置變量
- 005-內容頁的內置變量
- 齊博X1《實用技巧》
- 任意頁調用用戶的收藏列表
- 巧用字段后面js屬性來獲取表單內容
- 給標題欄加個按鈕,點擊獲取內容里文字截取一段做標題
- 簡單的模塊制作說明---初級
- V系列轉換程序重新起航 支持v全系列轉X系列(v7轉換支持添加到搜索)
- 簡單插件制作流程---友情鏈接解說版
- 鉤子簡單制作-tag加連接解說版
- 織夢轉X1程序
- 簡單的模塊制作說明---進階篇(更新中)
- 模型字段內容頁面調用小技巧
- 水平凡、lvyecms轉X1
- fun 函數 來個拋磚引玉 最簡單的分類信息顯示手機號歸屬地
- 再來個拋磚引玉 內容頁根據關鍵詞調用相關內容 新功能哦!
- 序列號使用圖文教程
- OSS有巨大的優惠活動 特此開啟一篇免流量教程帖
- 搜索結果調用其他字段的辦法
- 關于安裝七牛、騰訊、OSS等云儲存無法上傳提示沒參數的解答(必看)
- 鑒于很多人問列表的篩選怎么放到首頁、內容頁等等地方 貼出方法
- 下面根據運營經驗給大家講下服務器一般配置
- 一段不錯的小js提高一點點閱讀體驗 計算本文閱讀所需的時長
- 自定義時間插件更新了!新增編輯的時候自定義時間(已經安裝過的請看修改教程
- 制作好的應用導出上架教程
- 支付插件卸載后無法重新安裝的解決辦法
- 任意位置調用萬能表單的方法 順便借樓說下purl的作用
- 新版圈子店鋪類實例和詳細接口教程附模板文件
- 新版圈子專題類的數據教程
- 滑動門+下滑加載更多詳細圖解
- 使用寶塔面板php7.3的用戶如果無法安裝應用的解決辦法
- V系列如果發現被黑的排查方法附修復辦法
- 電腦版直播OBS Studio簡單教程
- 站內引用添加到編輯器后在編輯器顯示錯亂?一招告訴你怎么解決
- linux 寶塔面板安裝rtmp簡陋教程 (已加視頻版教程)
- 內容頁上傳MP3加載播放器簡單教程
- 免費的導播臺Mshow簡單的使用攻略
- 萬能fun 調用任意數據表 任意字段就是這么任性調用
- bui框架前端自定義配色基礎屬性
- 關于自定義時間或者其他鉤子安裝后無效的一個解決辦法
- 網站后臺上傳的logo圖丟失的一個排除解決辦法
- 插件如何做前臺風格切換的功能詳解
- 齊博X1--標簽變量大全
- 齊博X1--應用實例收集
- 嵌套-循環欄目,并列出子欄目下的內容
- 齊博X1--+關注,私信,TA的圈子
- 齊博X1--欄目多圖字段的循環調用
- 任意位置調用當前用戶提交的表單
- 循環欄目并調用欄目信息內容
- 頭部底部菜單高亮設置
- 萬能表單
- 全站調用驗證碼
- 萬能導出excel數據教程
- 如何重新模塊索引