iT邦幫忙

1

OpenCart 網站結帳時的庫存檢查邏輯與陷阱

  • 分享至 

  • twitterImage
  •  

OpenCart 系統紀錄購物內容及檢查庫存,邏輯大致是這樣,當加入購物車的商品,若多種不同選項值,就會各自存一筆紀錄。

例如客戶將 3 件相同型號,但不同選項值(例如一件黃色、一件白色、另一件綠色)的商品,加入購物車之後,系統是以 3 筆商品紀錄,儲存在資料庫中。

而檢查庫存的邏輯是,逐一比對每一筆商品紀錄,檢查購物車資料庫中每一筆商品紀錄的購買數量是否大於庫存數量。

舉例來說,如果該商品庫存數只有 1,但你以 3 種不同選項各 1 件去購買,系統會分 3 筆購買商品紀錄逐一檢查數量,每次檢查結果都是庫存 1 件、購買 1 件,沒有庫存不足。

您可以到官方網站的 Demo (https://www.opencart.com/index.php?route=cms/demo) 做測試,從後台可以看到商品 HP LP3065,它的庫存數是 1000。

接著我們到前台找到這項商品 (https://demo.opencart.com/index.php?route=product/product&product_id=47),
這件商品有一個商品選項 [Delivery Date],我們任意設定一個日期,假設 2020-01-01,數量改成 1001,然後 Add to Cart。

加入購物車之後,到 shopping cart 看看,你就會注意到系統出現了庫存不足的警告。

接著,我們把商品購買數量,由 1001 改成 1000 並 update,庫存不足的警告就會消失了,因為庫存有 1000 件,而你買 1000 件,所以不會出現警告。

然後點擊 HP LP3065 商品名稱,回到商品頁,繼續購買此項商品 1000 件,但設定不同的 [Delivery Date],例如 2020-01-05,然後 Add to Cart。

再回到 shopping cart 看看,你會發現購物清單是以 2 筆資料呈現,每筆 1000 件,共 2000 件 HP LP3065,但卻沒有出現庫存不足的警告。

如果你的商品沒有多種選項,或是你沒有商品庫存量的問題,那你可以不用擔心這個問題,如果這問題有可能發生在你的商店,那就可能要思考防範之道,或請工程師幫你做庫存檢查邏輯的程式修改,來避掉這個問題了。

參考資源
台灣電商社團 https://www.twec.org/
台灣電商 FB 社團 https://www.facebook.com/groups/opencart.taiwan/
OpenCart 網站代管、客製、維護 https://www.osec.tw/
OpenCart 台灣電商技術支援粉絲頁 https://www.facebook.com/ntcart/
OpenCart 台灣優化版專頁 https://www.osec.tw/opencart.html
OpenCart 台灣中文用戶討論區 https://www.ntcart.com/


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

我要留言

立即登入留言