如果未在允许国家/地区中选择任何内容,则用户无法将产品添加到购物车
本文为带有PHP 8.1的已知Adobe Commerce 2.4.4问题提供了一个修补程序,该问题导致如果未选择 允许国家/地区,则用户无法将产品添加到购物车。
描述 description
环境
带有PHP 8.1的Adobe Commerce 2.4.4
问题/症状
如果未选择 允许国家/地区,则用户无法将产品添加到购物车。
重现步骤:
- 登录到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