齊博X1:頻道的二次開發(fā)入門講解
要進行頻道的二次開發(fā),首先我們要先了解一下頻道的目錄結(jié)構(gòu),如下圖

最基本的幾個目錄
admin 后臺文件存放目錄
index 前臺文件存放目錄
member 會員中心存放目錄
model 數(shù)據(jù)表模型目錄
traits 會員中心與后臺共用的一些方法
admin_menu.php 后臺菜單
member_menu.php 會員中心菜單
config.php 配置文件
Info.php 暫時還沒用到
上面是該頻道的所有PHP文件,存放在\application\目錄里的具體一個頻道下面,比如\application\bbs,
而他的模板文件在另外一個目錄,比如
\template\index_style\default\bbs\ 前臺模板目錄
\template\admin_style\default\bbs\ 后臺模板目錄
\template\member_style\default\bbs\ 會員中心模板目錄
文件并不少,你沒必要一個一個的創(chuàng)建, 推薦你進后臺,頻道管理那里,復(fù)制一個CMS出來二次開發(fā)比較省事.
如果你手工復(fù)制目錄的話,需要把對應(yīng)的關(guān)鍵字比如 \cms\ 批量替換為你當(dāng)前頻道的目錄名
事實上,官方開發(fā)的那么多頻道都是在后臺復(fù)制CMS出來進行二次開發(fā)的.
這些頻道的PHP文件里邊的代碼相當(dāng)少. 那是因為他是繼承了 核心里邊的方法, 如果核心默認的方法滿足使用了,就不需要做任何處理. 如果覺得不滿足的話,就從核心文件那里把那個方法復(fù)制出來,重新修改
這一點跟V系列差別非常大. V系列的話,你可以直接找到那個文件進行修改. 而這里呢?需要你復(fù)制核心里邊的方法過來進行修改.
所以對剛剛?cè)腴T或者是不懂PHP的人來說,是有一點難度.
難度是增加了, 但是系統(tǒng)就變得非常靈活了, 核心升級,所有頻道都跟著升級. 并且頻道不需要寫太多的代碼. 不然的話, 就會出現(xiàn)太多雷同的方法代碼, 會把整個系統(tǒng)搞得很臃腫。
X1的特點,也是難點,就是 所有模塊都是繼承核心系統(tǒng)里邊的方法,
即模塊的
后臺文件會繼承 \application\common\controller\admin\ 這里系統(tǒng)后臺的方法代碼
前臺文件會繼承 \application\common\controller\index\ 這里系統(tǒng)前臺的方法代碼
會員中心會繼承 \application\common\controller\member\ 這里系統(tǒng)會員中心的方法代碼
而系統(tǒng)里邊的方法,又多次繼續(xù)上一級或者引用
\application\common\traits\AddEditList.php
\application\common\traits\ModuleContent.php
這兩個文件的方法.
所以就給初學(xué)者或者是不懂PHP的風(fēng)格開發(fā)者帶來一定的難度. 要修改某個地方,總是找不到文件代碼.
而V系列是寫在對應(yīng)的文件里邊的,所以就方便修改, 但帶來的問題就是代碼臃腫,升級不方便.
在這里的話,你要修改什么,需要往上級,上級找不到的話,就再往上級, 或者是往 \application\common\traits\ 里邊的文件 , 找到對應(yīng)的方法,復(fù)制到當(dāng)前文件,再進行修改.
所以開發(fā)X1的話,用記事本類的工具phpeditplus就不是那么方便了. 最好就用 Zend Studio 他有提示當(dāng)前,并且能準確指向到上級的文件對應(yīng)的方法. 方便你查看,或者是復(fù)制過來修改
最后,還有最關(guān)鍵的一點,就是后臺基本沒有使用模板,
所以在開發(fā)的時候,必須要熟悉 自動表單器的生成原理, 教程如下:
https://www.kancloud.cn/php168/x1_of_qibo/705990
