案例:新增刀模管理
此例為新增同著陸頁架構的 刀模管理。
後端 database.table
新增 table

database: shop
table: mass_dl_mod_profile
資料表結構同 mass_landing_profile
程式修改
Model
cp 一份,並將其中的 landing 字串全部替換為 dl_mod。
(除了 66 行 $category_list[$key]->count_landing_by_cat)
$path: your_workspace/syf/mass/application/models/adminQQQ/page_management/Page_dl_mod_model.php
View
- cp 一份,並將其中的 landing 字串全部替換為 dl_mod。
- 著陸頁 替換為 刀模頁
$path: your_workspace/syf/mass/application/views/adminQQQ/page_management/page_dl_mod.html
Controller
cp 一份,並將其中的 landing 字串全部替換為 dl_mod。 $path:
your_workspace/syf/mass/application/controllers/adminQQQ/page_management/Page_dl_mod.php找到
get_dl_mod_config($id=1更改為get_dl_mod_config($id=2
範例如下,修改 config 的 id 為刀模對應值:
// line 21
'dl_mod_config_traced' => json_decode($this->Page_dl_mod_model->get_dl_mod_config($id=2, 'traced_dirs')[0]->value),
'dl_mod_config_excluded' => json_decode($this->Page_dl_mod_model->get_dl_mod_config($id=2, 'excluded_files')[0]->value;
- 找到 method
upload_page()// 修改 $config['upload_path'] = $_SERVER['DOCUMENT_ROOT'].'/promote/'; 為 $config['upload_path'] = $_SERVER['DOCUMENT_ROOT'].'/download/'
大致完成,若有 bug 請見下一節反查
其他
就我個人而言是不推崇直接複製替換的方式,原因如下
如果要有同性質的任務,如增加一欄位,就要做 1 * 4 = 4 次相同的操作
個別替換也會有類似的問題,沒替換到的部分也會造成維護員錯亂
依需求重構前端可能綁定 DOM event,替換不完全可能造成 event 失效
Note: 錯誤反查時幾個方向,如特定功能無作用時
- 為 event 未觸發?
- event ajax 有被觸發,但未順利從後端取得資料?
- 後端錯誤類型 400 ? 404 ? 500
我有測試到並列在上方 MVC 說明部分解決的都是較關鍵的部分,
前端相關效果未詳測,請參考 2-note 中做狀況排除。