案例:新增刀模管理

此例為新增同著陸頁架構的 刀模管理

後端 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

  1. cp 一份,並將其中的 landing 字串全部替換為 dl_mod。
  2. 著陸頁 替換為 刀模頁

$path: your_workspace/syf/mass/application/views/adminQQQ/page_management/page_dl_mod.html

Controller

  1. cp 一份,並將其中的 landing 字串全部替換為 dl_mod。 $path: your_workspace/syf/mass/application/controllers/adminQQQ/page_management/Page_dl_mod.php

  2. 找到 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;
  1. 找到 method upload_page()
    // 修改 $config['upload_path'] = $_SERVER['DOCUMENT_ROOT'].'/promote/'; 為
    $config['upload_path'] = $_SERVER['DOCUMENT_ROOT'].'/download/'
    

大致完成,若有 bug 請見下一節反查

其他

就我個人而言是不推崇直接複製替換的方式,原因如下

  1. 如果要有同性質的任務,如增加一欄位,就要做 1 * 4 = 4 次相同的操作

    個別替換也會有類似的問題,沒替換到的部分也會造成維護員錯亂
    依需求重構

  2. 前端可能綁定 DOM event,替換不完全可能造成 event 失效

    Note: 錯誤反查時幾個方向,如特定功能無作用時

    • 為 event 未觸發?
    • event ajax 有被觸發,但未順利從後端取得資料?
    • 後端錯誤類型 400 ? 404 ? 500
  3. 我有測試到並列在上方 MVC 說明部分解決的都是較關鍵的部分,
    前端相關效果未詳測,請參考 2-note 中做狀況排除。

results matching ""

    No results matching ""