1、OPENCART 二次開發手冊opencart 和其它的購物車程式不同, 市面上的購物車程式大都使用現成的模版引擎 來開發,而 opencart 則是基於 MVC+L 的模式來作為開發的架構進而全新開發的一套系統,所以程式碼相當輕巧,執行效率更是超越其它購物程式, 這樣 的架構和程式碼讓後續的程式開發人員在編寫時更容易且清楚,程式和視覺設計分離, 有利於日後的維護,而有別於其它的 MVC 模式 ,opencart 更加入了 語言層,能夠更輕鬆完成多語言的實現MVC+L 模式Model 資料和元件處理View 外觀處理Controller 主控制程式Language 語言處理OpenCart 相
2、對於 MVC+L 的程式位置前臺M: catalogmodelV: catalogviewC: catalogcontrollerL: cataloglanguage後臺M: adminmodelV: adminviewC: admincontrollerL: adminlanguage- Page 2-參考上面的程式位置,我們如果要修改外觀模版就到 catalogview找相關程式修改,要修改控制的程式就到 catalogcontroller,以此類推 ,以下是 opencart 的主要目錄OpenCart 主要目錄admin 後臺catalog 前臺download 下載類商品存放位置(
3、由程式控制,非直接複製檔案至此)image 圖片檔install 安裝檔 (安全起見,安裝完請刪除)system 系統程式.htaccess 網址改寫控制檔(SEO urls)config.php 系統設定檔php.ini php 設定前景程式行表(顯示介面)2010-10-02顯示介面的程式除了少數幾個是共用一個控制程式外,其餘的和控制程式的位置大致相同, 像結帳功能的 guest_step_3.php 直接輸出到 confirm.tpl 顯示,所以就沒有guest_step_3.tpl,還有 module 功 能模組的 bestseller.tpl 和 bestseller_home.tp
4、l同樣受 bestseller.php 控制,所以也找不到 bestseller_home.php,還有 success.tpl成功顯示介面也是一樣,只要是動作完成或成功的畫面大都是使用它來作輸出, 其餘的請 自行體會,以下就是前臺顯示介面的程式列表Catalogviewthemeyour templatetemplateaccount 會員功能 account.tpl 會員功能主頁- Page 3- address.tpl 地址管理(更改, 新增) addresses.tpl 地址管理(列表,刪除) create.tpl 創建帳號 download.tpl 商品下載 edit.tpl 編輯個
5、人資料 forgotten.tpl 取回密碼 history.tpl 訂單記錄清單 invoice.tpl 折扣券接收處理常式 login.tpl 登入 newsletter.tpl 電子報訂閱取消 password.tpl 密碼變更Catalogviewthemeyour templatetemplatecheckout 結帳功能 address.tpl 位址處理(配送, 帳單位址) cart.tpl 流覽購物清單 (購物車) confirm.tpl 結帳功能 -最後確認 guest_step_1.tpl 免登入結帳第一步 guest_step_2.tpl 免登入結帳第二步 payment.
6、tpl 結帳功能-選擇付款方式 shipping.tpl 結帳功能-選擇配送方式Catalogviewthemeyour templatetemplatecommon 主要版面 column_left.tpl 左欄模組載入 column_right.tpl 右欄模組載入 footer.tpl 頁尾 header.tpl 頁首 home.tpl 首頁- Page 4- maintenance.tpl 維護中顯示頁 success.tpl 成功訊息Catalogviewthemeyour templatetemplateerror 404 錯誤 not_found.tpl 無此頁Catalogvi
7、ewthemeyour templatetemplateinformation 網站信息 contact.tpl 發送信件給店家 information.tpl 商店文章 sitemap.tpl 網站導覽Catalogviewthemeyour templatetemplatemail 訂單通知信 order_confirm.tpl 訂單通知信Catalogviewthemeyour templatetemplatemodule 功能模組 bestseller.tpl 暢銷商品( 側欄) bestseller_home.tpl 暢銷商品( 中間) cart.tpl 購物清單(側欄) categ
8、ory.tpl 目錄(側欄) featured.tpl 推薦商品 (側欄) featured_home.tpl 推薦商品( 中間) google_talk.tpl google 即時通(側欄) information.tpl 商店文章( 側欄) latest.tpl 最新商品(側欄) latest_home.tpl 最新商品( 中間) manufacturer.tpl 品牌選單( 側欄)- Page 5- special.tpl 特價商品( 側欄) special_home.tpl 特價商品(中間)Catalogviewthemeyour templatetemplateproduct 商品功
9、能 category.tpl 同目錄商品清單 manufacturer.tpl 同品牌商品列表 product.tpl 商品詳細內容頁 review.tpl 商品評論 search.tpl 搜尋功能 special.tpl 特價商品列表Catalogviewthemeyour templatetemplatepayment 付款模組以上就是前臺顯示介面程式的清單前景程式行表(控制介面)2010-10-02剛剛學習一套系統或程式時總是在一片程式海中尋找,要改一個地方都還要找來找去,實在 有夠麻煩,看其它程式像 oscommerce 或 zencart 都有人將程式位置列出,讓想修改的人能夠更快找
10、到相關的程式位置,節省很多時間,也減少一開 始的不熟悉帶來的麻煩,在網上找了許久還找不到 opencart 關於這類的資訊,就花了點時間整理一下,下面是前台“控制程式 “的清單和說明Catalogcontrolleraccount 會員功能 account.php 會員功能主頁- Page 6- address.php 會員功能-地址管理 create.php 創建帳號 download.php 會員功能- 商品下載 edit.php 會員功能- 編輯個人資料 forgotten.php 取回密碼 history.php 會員功能- 訂單記錄清單 invoice.php 折扣券接收處理常式 l
11、ogin.php 登入 logout.php 註銷完成頁 newsletter.php 會員功能-電子報訂閱取消 password.php 會員功能- 密碼變更 success.php 創建帳號成功訊息Catalogcontrollercheckout 結帳功能 address.php 結帳功能-位址處理(配送,帳單地址) cart.php 流覽購物清單 (購物車) confirm.php 結帳功能-最後確認 guest_step_1.php 免登入結帳第一步 guest_step_2.php 免登入結帳第二步 guest_step_3.php 免登入結帳第三步 payment.php 結帳功
12、能-選擇付款方式 shipping.php 結帳功能- 選擇配送方式 success.php 完成結帳成功訊息Catalogcontrollercommon 主要版面 column_left.php 左欄模組載入 column_right.php 右欄模組載入- Page 7- footer.php 頁尾 header.php 頁首 home.php 首頁 maintenance.php 維護中顯示頁 seo_url.php 網址優化處理常式之一( 縮短網址)Catalogcontrollererror 404 錯誤 not_found.php 無此頁Catalogcontrollerfeed
13、 網站地圖和訂閱 google_base.php 網站訂閱(feed) google_sitemap.php 網站地圖Catalogcontrollerinformation 網站信息 contact.php 發送信件給店家 information.php 商店文章 sitemap.php 網站導覽Catalogcontrollermodule 功能模組 bestseller.php 暢銷商品 cart.php 購物清單 (側欄) category.php 目錄( 側欄) featured.php 推薦商品 google_talk.php google 即時通(側欄) information.
14、php 商店文章(側欄) latest.php 最新商品- Page 8- manufacturer.php 品牌選單(側欄) special.php 特價商品Catalogcontrollerproduct 商品功能 category.php 同目錄商品清單 manufacturer.php 同品牌商品列表 product.php 商品詳細內容頁 search.php 搜尋功能 special.php 特價商品列表Catalogcontrollerpayment 付款模組以上就是前臺控制程式的清單看到很多使用 opencart 架設的商店僅使用單一語言和貨幣, 目標應該是針對單一國家做銷售,
15、這時候語言和貨幣選單似乎就顯得有點多於, 只需要修改 header.tpl 就可以刪掉,以下是以 1.4.9.1 版做範例且模版為預設模版,其他版本請發揮想像力, 大致上是相同的1. 開啟 catalogviewthemedefaulttemplatecommonheader.tpl2. 找到下列這段程式碼 (大約第 110 到 151 行),並刪除它即可除去貨幣和語言選單“method=“post“ enctype=“multipart/form-data“ id=“currency_form“- Page 9-); $(#currency_form).submit();“ /“method=“post“ enctype=“multipart/form-data“ id=“language_form“alt=“ /- Page 10-); $(#language_form).submit();“ alt=“ /“ /以上是刪除 opencart 前臺語言和貨幣選單最快的方法,如有錯誤歡迎提出