如果未在允许国家/地区中选择任何内容,则用户无法将产品添加到购物车
本文为带有PHP 8.1的已知Adobe Commerce 2.4.4问题提供了一个修补程序,该问题导致如果未选择“允许国家/地区”,用户无法将产品添加到购物车。
受影响的产品和版本
带有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中内部函数的不可为空的参数”导致的错误,它无法正常工作。
解决方案
要解决此问题,请应用以下修补程序:
如何应用修补程序
有关说明,请参阅我们的支持知识库中的如何应用Adobe Commerce提供的编辑器修补程序。
有用的链接
在开发人员文档中,将自定义修补程序应用到云基础架构上的Adobe Commerce。
recommendation-more-help
8bd06ef0-b3d5-4137-b74e-d7b00485808a