Os usuários não podem adicionar o produto ao carrinho se nada estiver selecionado em Permitir países
Este artigo fornece um patch para o Adobe Commerce 2.4.4 conhecido com o problema do PHP 8.1 em que os usuários não podem adicionar produtos ao carrinho se a opção Permitir países não estiver selecionada.
Descrição description
Ambiente
Adobe Commerce 2.4.4 com PHP 8.1
Problema/Sintomas
Os usuários não poderão adicionar produtos ao carrinho se a opção Permitir países não estiver selecionada.
Etapas a serem reproduzidas:
- Faça logon no Administrador do Commerce.
- Ir para Loja
>Configuração>Geral>Opções de País. - Desmarque todas as opções no campo Permitir países.
- Clique em Salvar configuração para salvar a configuração.
- Acesse a loja e tente adicionar um produto ao carrinho.
Resultado Esperado:
Você pode adicionar um produto ao carrinho.
Resultado Real:
Você não pode adicionar um produto ao carrinho. Você recebe o seguinte erro de console:
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)
Causa
A configuração do Adobe Commerce recupera null caso uma configuração de seleção múltipla não tenha nenhum item selecionado. Esta configuração é processada com sucesso nas versões do PHP anteriores à 8.1. No entanto, no PHP 8.1 ele não funciona corretamente devido aos erros que são causados pelo Deprecate transmitindo nulo para argumentos não nulos de funções internas no PHP 8.1.
Resolução resolution
Solução
Para resolver o problema, aplique o seguinte patch:
Como aplicar o patch
Consulte Aplicar patches no Guia do Commerce na Nuvem para obter instruções.