如果在「允許國家/地區」中未選取任何專案,則使用者無法將產品新增到購物車
本文針對使用PHP 8.1的已知Adobe Commerce 2.4.4問題提供補丁,該問題導致如果未選取「允許國家/地區」,使用者無法將產品新增到購物車。
受影響的產品和版本
Adobe Commerce 2.4.4與PHP 8.1
問題
如果未選取「允許國家/地區」,使用者無法將產品新增到購物車。
要再現的步驟:
- 登入Commerce管理員。
- 移至 市集 > 組態 > 一般 > 國家選項
- 取消選取 允許國家 欄位中的所有選項。
- 按一下 儲存設定 以儲存設定。
- 前往店面,嘗試將產品新增到購物車。
預期結果:
您可以將產品新增到購物車。
實際結果:
您無法將產品新增至購物車。 您會收到下列主控台錯誤:
Failed to load resource: the server responded with a status of 400 (Bad Request)
customer-data.js:87 Uncaught Error: [object Object]
at Object.<anonymous> (customer-data.js:87:23)
at fire (jquery.js:3500:50)
at Object.fireWith [as rejectWith] (jquery.js:3630:29)
at done (jquery.js:9798:30)
at XMLHttpRequest.<anonymous> (jquery.js:10057:37)
原因
多選設定沒有任何選取的專案時,Adobe Commerce設定會擷取null
。 如果在8.1之前的PHP版本中進一步成功處理此設定。然而,在PHP 8.1中,它無法正常運作,因為錯誤是由於「Deprecate將null傳遞給PHP 8.1中內部函式的不可為空的引數」所造成。
解決方案
若要解決此問題,請套用下列修補程式:
如何套用修補程式
請參閱我們的支援知識庫中的如何套用Adobe Commerce提供的撰寫器修補程式,以取得指示。
有用的連結
在開發人員檔案中,將自訂修補程式套用至雲端基礎結構上的Adobe Commerce。
recommendation-more-help
8bd06ef0-b3d5-4137-b74e-d7b00485808a