Gli utenti non possono aggiungere un prodotto al carrello se non è selezionato nulla in Paesi consentiti
Questo articolo fornisce una patch per il problema noto di Adobe Commerce 2.4.4 con PHP 8.1, in cui gli utenti non possono aggiungere prodotti al carrello se Consenti paesi non è selezionato.
Descrizione description
Ambiente
Adobe Commerce 2.4.4 con PHP 8.1
Problema/Sintomi
Gli utenti non possono aggiungere prodotti al carrello se Paesi consentiti non è selezionato.
Passaggi da riprodurre:
- Accedi all’amministratore di Commerce.
- Vai a Store
>Configurazione>Generale>Opzioni paese. - Deseleziona tutte le opzioni nel campo Consenti paesi.
- Fai clic su Salva configurazione per salvare la configurazione.
- Vai alla vetrina e prova ad aggiungere un prodotto al carrello.
Risultato previsto:
Puoi aggiungere un prodotto al carrello.
Risultato effettivo:
Non puoi aggiungere un prodotto al carrello. Viene visualizzato il seguente errore della 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
La configurazione di Adobe Commerce recupera null nel caso in cui una configurazione a selezione multipla non abbia elementi selezionati. Questa configurazione viene ulteriormente elaborata con successo nelle versioni PHP precedenti alla 8.1. Tuttavia, in PHP 8.1 non funziona correttamente a causa degli errori causati da Deprecate che trasmette null agli argomenti non nullable delle funzioni interne in PHP 8.1.
Risoluzione resolution
Soluzione
Per risolvere il problema, applica la seguente patch:
Come applicare il cerotto
Per istruzioni, consulta Applicare le patch nella Guida di Commerce su Cloud.