[OpenCart購物網站]OpenCart程式主架構分析

/ 分類: , / 0 則回應

標籤:

其實之前曾經使用過很多購物車系統,
例如oscommerce,PrestaShop,ECshop,Magento等
各家系統各有其優缺點,只要挑自己習慣用的就可以了

OpenCart是一套免費開源購物商城系統,為近年來發展較成熟且熱門的購物車
優點是程式版本較新,插件與模組數量也比較多.

PrestaShop我個人也非常喜歡它的版面,但是由於速度較慢所以才不得已捨棄它了.

—————————————————–
OpenCart主程式架構分析

集中在主要四個目錄資料夾分別為
Model – 數據和組件處理
View – 外觀處理
Controller – 主控制程式
Language – 語言處理
前台部分
\catalog\model\
\catalog\view\
\catalog\controller\
\catalog\language\

後台部分(把catalog換成admin)
\admin\model\
\admin\view\
\admin\controller\
\admin\language\

所以依據上面的程式位置,如果要修改前台外觀就到catalog\view\
找相關程式修改,要修改控制的程式就到catalog\controller\

以此類推,以下是opencart的主要目錄
OpenCart主要目錄

\admin 後台
\catalog 前台
\download 下載類商品存放位置(由程式控制,非直接複製檔案至此)
\image 圖片檔
\install 安裝檔(安全起見,安裝完請刪除)
\system 系統程式
\.htaccess 網址改寫控制檔(SEO urls)
\config.php 系統設定檔
\php.ini php設定


 

前台程式列表(View顯示介面)
顯示介面的程式除了少數幾個是共用一個控制程式外,其餘的和控制程式的位置大致相同, 像結帳功能的guest_step_3.php直接輸出到confirm.tpl顯示,所以就
沒有guest_step_3.tpl,還有module功 能模組的bestseller.tpl和bestseller_home.tpl同樣受bestseller.php控制,所以也找不到 bestseller_home.php,還有
success.tpl成功顯示介面也是一樣,只要是動作完成或成功的畫面大都是使用它來作輸出,其餘的請 自行體會,以下就是前台顯示介面的程式列表

Catalog\view\theme\your template\template\account 會員功能

—— account.tpl 會員功能主頁

—— address.tpl 地址管理(更改,新增)

—— addresses.tpl 地址管理(列表,刪除)

—— create.tpl 創建帳號

—— download.tpl 商品下載

—— edit.tpl 編輯個人資料

—— forgotten.tpl 取回密碼

—— history.tpl 訂單記錄列表

—— invoice.tpl 折扣券接收處理程式

—— login.tpl 登入

—— newsletter.tpl 電子報訂閱取消

—— password.tpl 密碼變更

Catalog\view\theme\your template\template\checkout 結帳功能

—— address.tpl 地址處理(配送,帳單地址)

—— cart.tpl 瀏覽購物清單(購物車)

—— confirm.tpl 結帳功能-最後確認

—— guest_step_1.tpl 免登入結帳第一步

—— guest_step_2.tpl 免登入結帳第二步

—— payment.tpl 結帳功能-選擇付款方式

—— shipping.tpl 結帳功能-選擇配送方式

Catalog\view\theme\your template\template\common 主要版面

—— column_left.tpl 左欄模組載入

—— column_right.tpl 右欄模組載入

—— footer.tpl 頁尾

—— header.tpl 頁首

—— home.tpl 首頁

—— maintenance.tpl 維護中顯示頁

—— success.tpl 成功訊息

Catalog\view\theme\your template\template\error 404錯誤

—— not_found.tpl 無此頁

Catalog\view\theme\your template\template\information 網站資訊

—— contact.tpl 發送信件給店家

—— information.tpl 商店文章

—— sitemap.tpl 網站導覽

Catalog\view\theme\your template\template\mail 訂單通知信

—— order_confirm.tpl 訂單通知信

Catalog\view\theme\your template\template\module 功能模組

—— bestseller.tpl 暢銷商品(側欄)

—— bestseller_home.tpl 暢銷商品(中間)

—— cart.tpl 購物清單(側欄)

—— category.tpl 目錄(側欄)

—— featured.tpl 推薦商品(側欄)

—— featured_home.tpl 推薦商品(中間)

—— google_talk.tpl google即時通(側欄)

—— information.tpl 商店文章(側欄)

—— latest.tpl 最新商品(側欄)

—— latest_home.tpl 最新商品(中間)

—— manufacturer.tpl 品牌選單(側欄)

—— special.tpl 特價商品(側欄)

—— special_home.tpl 特價商品(中間)

Catalog\view\theme\your template\template\product 商品功能

—— category.tpl 同目錄商品列表

—— manufacturer.tpl 同品牌商品列表

—— product.tpl 商品詳細內容頁

—— review.tpl 商品評論

—— search.tpl 搜尋功能

—— special.tpl 特價商品列表

Catalog\view\theme\your template\template\payment 付款模組


 

前台程式列表(控制介面)
剛剛學習一套系統或程式時總是在一片程式海中尋找,要改一個地方都還要找來找去,實在 有夠麻煩,看其它程式像oscommerce或zencart都有人將程式位置
列出,讓想修改的人能夠更快找到相關的程式位置,節省很多時間,也減少一開 始的不熟悉帶來的麻煩,在網上找了許久還找不到opencart關於這類的資訊,就花
了點時間整理一下,下面是前台”控制程式”的列表和說明

Catalog\controller\account 會員功能

—— account.php 會員功能主頁

—— address.php 會員功能-地址管理

—— create.php 創建帳號

—— download.php 會員功能-商品下載

—— edit.php 會員功能-編輯個人資料

—— forgotten.php 取回密碼

—— history.php 會員功能-訂單記錄列表

—— invoice.php 折扣券接收處理程式

—— login.php 登入

—— logout.php 登出完成頁

—— newsletter.php 會員功能-電子報訂閱取消

—— password.php 會員功能-密碼變更

—— success.php 創建帳號成功訊息

Catalog\controller\checkout 結帳功能

—— address.php 結帳功能-地址處理(配送,帳單..地址)

—— cart.php 瀏覽購物清單(購物車)

—— confirm.php 結帳功能-最後確認

—— guest_step_1.php 免登入結帳第一步

—— guest_step_2.php 免登入結帳第二步

—— guest_step_3.php 免登入結帳第三步

—— payment.php 結帳功能-選擇付款方式

—— shipping.php 結帳功能-選擇配送方式

—— success.php 完成結帳成功訊息

Catalog\controller\common 主要版面

—— column_left.php 左欄模組載入

—— column_right.php 右欄模組載入

—— footer.php 頁尾

—— header.php 頁首

—— home.php 首頁

—— maintenance.php 維護中顯示頁

—— seo_url.php 網址最佳化處理程式之一(縮短網址)

Catalog\controller\error 404錯誤

—— not_found.php 無此頁

Catalog\controller\feed 網站地圖和訂閱

—— google_base.php 網站訂閱(feed)

—— google_sitemap.php 網站地圖

Catalog\controller\information 網站資訊

—— contact.php 發送信件給店家

—— information.php 商店文章

—— sitemap.php 網站導覽

Catalog\controller\module 功能模組

—— bestseller.php 暢銷商品

—— cart.php 購物清單(側欄)

—— category.php 目錄(側欄)

—— featured.php 推薦商品

—— google_talk.php google即時通(側欄)

—— information.php 商店文章(側欄)

—— latest.php 最新商品

—— manufacturer.php 品牌選單(側欄)

—— special.php 特價商品

Catalog\controller\product 商品功能

—— category.php 同目錄商品列表

—— manufacturer.php 同品牌商品列表

—— product.php 商品詳細內容頁

—— search.php 搜尋功能

—— special.php 特價商品列表

Catalog\controller\payment 付款模組
資料來源:http://ntcn.net/blog/?p=283

一般留言 (0)

  1. 您好, 我是使用opencart的新手想請問三個問題

    1. 我在自行摸索修改檔案時不知道刪除到哪個檔案的哪個部分, 導致金額前方的貨幣單位不見了

    2. 同上述情況, 我的分類頁的下方相關商品的下方突然出現顯示 {start} – {end} / {total} (共計 {pages} 頁) , 不知道該如何刪除這些字

    3. 如何將高級搜索的區塊或字樣刪除

    • 別這麼說~~我也是opencart的新手~只是在架站中遇到的問題拿來做分享而已~~
      1.請問您的opencart版本是?
      2.您可以先進到後台的系統設定>本地化>幣別設定 去看看左符號的設定是否正常
      3.如果你正在嘗試改前台顯示出現錯誤..但又不知道哪個檔案出錯..您也可以直接找到原始的catalog資料夾進行覆蓋.
      4.您有網站可以參考一下嗎?

      • 1. 1.5.5
        2. 修改完成, 非常感謝您!
        3. 因為我修改不少東西, 但有些東西我不想失去, 我有試著回去原檔看那些語法不一樣, 但還是找不到原因在哪, 我後來將那些字改成#FFF, 然後加禁止反白語法…. 哈(?
        4. 網站沒放到伺服器上, 要改過hosts才看的到 QQ

        非常感謝您的分享解決我不少問題!

        • 哈~~加油喔~~我現在主要是用Opencart 2.0.3.1版不過網路資源更少了.
          恭喜你修改成功摟~~改這種東西有時候腦袋會卡卡的…不過過段時間在看就會解開了
          你可以看一下我的測試站
          http://aweidesign.why3s.tw/opencart2/

          比原始的1.5版的漂亮許多~也有Responsive Web Design 的概念

  2. 請問如何可做兩個唔同的header在同一個網站內

    • 如果您要修改header,建議您可以到
      Catalog\view\theme\your template\template\common\header.tpl
      這個檔案去修改調整或是增加妳想要的內容
      不過記得要備份喔~

  3. 請問我想改OPERCART 的ANIMATION CSS3的請問要怎變動
    http://www.transhop.com.tw/ 這是我設的網站
    中間那個可以點的我就是想改掉但找不到檔案位置

    • 請問您是說~中間那四塊你滑鼠移過去會有陰影縮小的動畫效果嗎?
      那個你要去修改stylesheet.css 大概在9980行那邊~去修改css語法

  4. 你好:
    我想請問在opencart 後台 分析模組上只有GA的選項。如果我要安裝fb pixel 要如何安裝?

    謝謝

  5. 你好
    sym3088@gmail.com
    您好我想在menu新增一個自訂選項
    選項有出現
    但是還在研究怎麼出現到右邊的頁面
    有什麼教學資料可以參考麼
    外國的也行

    • 先請問一下~~您是用opencart的哪個版本?
      您有作好的頁面可以讓我看看嗎?
      我的http://aweidesign.why3s.tw/opencart2/
      上面menu最右邊我有增加一個自訂欄位-連絡我
      您說要把類似這種自訂欄位放在左或右的MENU嗎?

發表留言