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 sono in grado di aggiungere prodotti al carrello se l’opzione Consenti paesi non è selezionata.
Prodotti e versioni interessati
Adobe Commerce 2.4.4 con PHP 8.1
Problema
Gli utenti non possono aggiungere prodotti al carrello se l’opzione Consenti paesi non è selezionata.
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 contenga elementi selezionati. Questa configurazione se ulteriormente elaborata correttamente nelle versioni PHP precedenti alla 8.1. Tuttavia in PHP 8.1 non funziona correttamente a causa degli errori causati da "Deprecate passando null ad argomenti non nullable di funzioni interne in PHP 8.1".
Soluzioni
Per risolvere il problema, applica la seguente patch:
Come applicare il cerotto
Per istruzioni, consulta Come applicare una patch del compositore fornita da Adobe Commerce nella Knowledge Base di supporto.
Collegamenti utili
Applica patch personalizzate ad Adobe Commerce sull'infrastruttura cloud nella documentazione per gli sviluppatori.