国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

shopnc二次開發(二)

2019-11-15 02:06:23
字體:
來源:轉載
供稿:網友
shopnc二次開發(二)

一般來說二次開發,多數就是修改界面和增加功能這兩個需求

先說修改界面

mvc 架構的程序,在界面這里,基本就是調用數據。

常見的界面數據構架有三種

1.是業務端或者是控制端數據驅動界面,基本上是后臺輸出啥數據,界面表現啥數據。這樣麻煩的地方在于如果要更換模板的話動刀會動的比較大,除非沒有更換模板的需求。如果不修改控制端的數據的話,那么界面設計這里受到的限制就比較多。

2.是界面驅動數據,界面自定義調用數據,多數的 cms 基本都是這樣搞的,通過標簽或者定義個通用的 php 調用數據函數來獲取數據。這樣對界面設計這里比較友好,但是切圖套代碼的話就會比較麻煩些。

3.第三種難度有點大,就是后臺通過所見即所得的模式,定義前端調用模塊,并通過系統配置或者手動配置來定義數據,然后生成 html 數據,前臺一次性讀取即可,設定合理緩存的間隔即可。像淘寶,shopex就是這樣的模式,對后臺開發的壓力比較大。

shopnc的程序屬于第一種,后臺數據驅動界面的。所以要改界面,通常要改控制器和視圖兩個地方,最好是記錄好修改的文件,否則將來升級了,源文件被替換了,就會非常麻煩。

shopnc的url通常是這樣的

http://localhost/shopnc/shop/index.php?act=show_groupbuy&op=index

act 參數代表的是控制器,而 op 則代表的是控制器中的業務函數名稱

回顧下 shopnc 的目錄結構,我們到控制器目錄中尋找show_groupbuy.php ,這就是控制器的業務邏輯

簡單的看下代碼

class show_groupbuyControl extends BaseHomeControl {    ...}    

控制器的名稱跟一個 Control 字符串并繼承于 BaseHomeControl

而 op 就是show_groupbuyControl 類中的函數

/** * 默認跳轉到進行中的團購列表 */public function indexOp() {    $this->groupbuy_listOp();}

命名以 url 中的 op 參數加 Op 字符串組合而成

如果要更改前臺顯示的數據,則需要找到對應的控制器和函數,修改其中的代碼

前臺的模板也有規律

templates/default 目錄下的文件夾功能含義如下:

buy 購買功能模板,比如購物車、訂單等模板

CSS 樣式文件夾

home 前臺展示功能模塊的模板都在這里

images 模板圖片文件夾

layout 布局文件夾,如果要找各個功能區的頭文件都在這里

member 會員中心模板

seller 賣家中心模板

sns sns 功能模板

store 賣家店鋪模板

到對應的文件夾中尋找相關的文件模板即可修改視圖邏輯

剛開始找對應視圖可能有點蒙,因為視圖和控制器并不對應,不過從 op 參數上判斷也比較好找,當然還是建議從控制器代碼中找

找到對應op 函數

在函數最后末尾,找到類似Tpl::showpage('index'); 的字樣,有這樣的字樣就代表從對應的文件夾中調用 index 的視圖,所以我們找到index.php 就是對應的視圖文件了

如果沒有Tpl::showpage('index'); 的字樣,通常是調用了其他函數或者不輸出視圖文件,比如說直接輸出字符串或者輸出 json 。

找到了視圖文件,就需要找到對應的數據顯示模塊才可以修改。

我們先返回找到對應的控制器看下代碼,我們找到首頁文件,以團購為例

//團購專區Language::read('member_groupbuy');$model_groupbuy = Model('groupbuy');$group_list = $model_groupbuy->getGroupbuyCommendedList(array(), null, '', '*', 4);Tpl::output('group_list', $group_list);

除去注釋的第一句,不用看也能猜出來,是調用語言文件的

第二句是調用 model 的,model 的位置在上層目錄中的 data 里,而 model 文件的文件名就是Model('groupbuy'); 中的groupbuy 加上 .php 后綴

第三句調用 model 中的函數獲取想要取得的數據

第四句則是將已取得的數據賦值給模板中的變量 group_list

我們打開視圖文件,找到group_list 即可定位模板中要找的位置了,而模板都是純 php 語法,直接就可以修改,記得要備份啊!


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 哈密市| 胶州市| 大关县| 黄浦区| 新巴尔虎左旗| 丹江口市| 平阴县| 杭锦旗| 陈巴尔虎旗| 新疆| 弋阳县| 长汀县| 浏阳市| 崇明县| 洛南县| 渭源县| 巴楚县| 沾益县| 茌平县| 舟曲县| 中江县| 镇江市| 辰溪县| 汾西县| 句容市| 米林县| 朝阳市| 封开县| 屯门区| 济宁市| 奎屯市| 枝江市| 察雅县| 绩溪县| 秀山| 大埔县| 大城县| 团风县| 高州市| 菏泽市| 正安县|