ecshop作爲php商城模板來講已然非常成熟,但也導致其中表結構非常複雜,代碼邏輯關係比較亂。對於剛剛接觸的新手(我)來說是一個很大的挑戰。
下來呢,我就說說這幾天我自己的開發心得。在開發過程中儘量打開瀏覽器的調試器並切換到網絡窗格。實時監控URL的走向,找到參數與文件之後去到文件裏搜索這個參數的代碼分支。在dwt文件裏的很多變量都是這麼被揪出來的。
很多時候即使找遍那個php文件也無法找到dwt的變量,這時候不要着急。你往這個文件最上面找,看到那個include_once的時候,點進去看看,也許會有收穫。
在ecshop中很多時候因爲客戶的"別樣"的需求會自己想要原生的寫一個功能模塊。但是,我們的數據要怎麼傳遞到別的模塊裏呢?用session?用了之後就會發現,坑爹啊!session數據沒了???經過我的一番細細研究,發現在include文件夾裏的init.php裏會自動清除瀏覽器本來的session,並初始化。所以你需要在你的文件開始的地方也引入init.php。
在開發過程中還遇到了js代碼完全不管用的情況,起初連一個alert都沒有辦法彈出來。後來發現是因爲它在重繪模板引擎的時候是不渲染那句之前的js的,所以應該把那個js放在display之後。
有時候,也不知道自己改了什麼,反正貨品頁面就是壞掉了。庫存一直顯示正在載入。這個時候的解決辦法就是找到原來的goods.dwt文件覆蓋掉這個就好。(所以一定要備份啊!)
改動不大,需求還好,所以以上就是我這半個月遇到的問題彙總了。