如果在「允許國家/地區」中未選取任何專案,則使用者無法將產品新增到購物車
本文為已知的Adobe Commerce 2.4.4及PHP 8.1問題提供修補程式,其中如果未選取 允許國家/地區,使用者無法新增產品至購物車。
說明 description
環境
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中內部函式的不可為空的引數所造成。
解決方法 resolution
解決方案
若要解決此問題,請套用下列修補程式:
如何套用修補程式
如需指示,請參閱Commerce on Cloud指南中的套用修補程式。
recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f