我的 opencart 商店可以升級到最新版本嗎 ?

資深電商工匠
5 min readDec 24, 2018

--

商家: 我的 opencart 商店可以升級到最新版本嗎 ?

很常被問到這個問題,且不是三言兩語能說明清楚,所以乾脆寫一篇完整一點的文章來說明。

先簡單結論,可以升級,但不是無痛升級,會失去一些功能,但也會有新增一些好的東西。

雖然 OpenCart 系統檔案中有附帶升級的程式功能,但其實仍是處於尚未完成的階段,若使用系統附帶的升級功能,有很高的機率會在升級過程中出錯,您可以嘗試,但強烈建議另外複製到一個臨時的環境,再進行升級的作業,千萬千萬不要貿然幫您正在營運中的網站進行升級。
很多人以為升級就是,點幾下,然後就有些新的功能會加進來、不好用的地方會被替換、其他功能都不會被影響,立馬可以繼續使用 …. 。以為就像 Windows 更新一樣,讓他跑一下更新作業後,就可以不受影響的繼續使用 Windows 了,但其實 OpenCart 的升級,比較像是把 Windows XP 的電腦,換成 Windows 10 一樣,如果你有經歷過的話。

為什麼不能做到無痛升級 !? 其實開發團隊當然也想,但不是那麼容易辦到,就連 WordPress 升級後也常發生一些慘劇,Windows 的更新可以比較不痛,是因為系統的主體架構是沒更動的,更新的都是已模組化的功能模組,獨立性很高,與主架構維持原來的參數呼叫或命名規則,即可平順的替換模組。
但是 OpenCart 仍是處在劇烈演進的階段,新舊版本間的差異,都涵括了系統主體架構的調整,使得不同版本間的,都存在重大的差異,例如檔案命名規則、function 的命名規則、參數格式,連幾個重大的第三方 FrameWork/Library 也都會同時升級,於是造成您舊版上的擴充模組、版型、各種小修改,都無法在系統升級後繼續使用。

所以升級的步驟是 :

1. 複製舊系統的資料庫備份到臨時工作環境,資料庫的資料即可,程式暫時不用。

2. 上傳新版的 OpenCart 程式到臨時工作環境。

3. 複製舊系統的 config.php 及 admin/config.php ,並修改路徑及資料庫相關參數值。

4. 開啟臨時工作環境的網址 http://yourstore.com/install,進入系統升級畫面。

5. 依指示完成升級步驟。

若順利來到這裡,代表您的網站已升級為最新版本,但由上面的步驟可知,上面所謂的升級,僅是幫您原有資料庫裡面的資料,搬進一個全新的 OpenCart 系統而已,舊模組程式、版型等等,其實都被拋棄了。
所以接下來是我們幫客戶進行升級服務時,會多提供的服務。

6. 複製舊的 image 目錄到臨時工作環境,並刪除 cache 目錄,因為圖片會依新版的設定重新產生 cache 檔。

7. 修正最新版本的已知 Bug,因為最新版本釋出後,仍會有 Bug 被發現、修正,但不會被更新到安裝檔中。

8. 安裝中文語系檔、修改中文化設定,例如幣別、(運送用)地區別、調整縣市下拉選單排序等等。

9. 安裝指定版型,因為舊版型無法留用,故只能重新挑選及安裝新的版型。

10. 安裝及設定指定的金、物流模組。

11. 安裝其他實用模組,例如後台商品模糊搜尋、商品分類搜尋、快速上下架、GA 分析 …

12. 安裝指定之擴充模組,例如匯入匯出、滿額折扣、顏色尺寸連動選項、FB 登入 …

13. 安裝及設定一頁式結帳,中文化一頁式結帳頁面。

14. 修改物流金流連動功能,選擇運送方式後,只出現可以搭配的付款方式選項,例如選擇宅配後,就不應該出現超商取貨付款。

15. 客製特殊需求,若原系統有客製的功能,則在新系統也必須重新客製。

16. 協助編排首頁、頁頂、頁底、選單、商品區塊 …

17. 測試會員註冊、下單結帳 …

18. 測試新系統達到穩定程度之後,安排新舊系統替換時程。

19. 新系統建議此用新版的主機環境 (建議至少為 PHP 7.1 以上),故須評估原網址主機能否切換為 PHP 7.1,或考慮更換主機空間。

20. 若新主機無提供免費的 SSL 憑證自動申請及安裝功能,則必須另外購買 SSL 憑證。

21. 於新舊系統替換當天,先將舊網站設定為系統維護狀態,並再一次複製最新的資料庫資料及 image 目錄檔案。

22. 再建立另一個新的臨時工作環境,再次進行升級作業,升級後再將商品、會員、訂單等相關資料表,複製到第一個臨時工作環境的 OpenCart 並覆蓋。

23. 最新的 image 目錄檔案覆蓋到第一個臨時工作環境的 OpenCart 系統檔案目錄中。

24. 匯出第一個臨時工作環境的 OpenCart 系統資料庫,匯入到新的網站空間的資料庫中。

25. 打包第一個臨時工作環境的 OpenCart 系統檔案,上傳到新的網站空間的目錄中。

26. 移動 storage 目錄到網站根目錄之外。

27. 修改檔案及目錄的相關權限。

28. 修改新網站的 config.php 及 admin/config.php 的相關參數設定。

29. 設定 Email 伺服器等相關設定,若需要搭配 SMTP,必須先建立一個 email 帳號。

30. 到擴充模組管理的代碼替換,重新整理更新替換代碼。

如果一切順利,到這裡應該可以算是升級完成了,所以我說可以升級,但不是無痛升級,會失去一些功能,但也會有新增一些好的東西。
重點技巧全都教給大家了,新望大家能順利升級,如果沒有把握自己來,那就交給我們吧 !!

--

--

資深電商工匠
資深電商工匠

Written by 資深電商工匠

開源電商首席工程師,18年購物網站設計、商家輔導上線經驗 ... https://www.osec.tw

No responses yet