Gebruikers die geen product aan winkelwagentje kunnen toevoegen als er niets is geselecteerd in Allow countries
Dit artikel verstrekt een flard voor bekende Adobe Commerce 2.4.4 met PHP 8.1 kwestie waar de gebruikers geen producten aan de kar kunnen toevoegen als toestaat Landen unselected is.
Beschrijving description
Omgeving
Adobe Commerce 2.4.4 met PHP 8.1
Probleem/symptomen
De gebruikers kunnen geen producten aan de kar toevoegen als Landen toestaat niet wordt geselecteerd.
Stappen om te reproduceren:
- Meld u aan bij de Commerce-beheerder.
- Ga naar Opslag
>Configuratie>Algemeen>de Opties van het Land . - Deselecteer alle opties op toestaat Landen gebied.
- Klik sparen Config om de configuratie te bewaren.
- Ga naar de winkel en probeer een product aan de winkelwagentje toe te voegen.
Verwacht Resultaat:
U kunt een product aan de kar toevoegen.
Ware Resultaat:
U kunt geen product aan de kar toevoegen. U krijgt de volgende consolefout:
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)
Oorzaak
De Adobe Commerce-configuratie haalt null op als een multi-select-configuratie geen geselecteerde items heeft. Deze configuratie wordt verder verwerkt in PHP versies ouder dan 8.1. Nochtans in PHP 8.1 werkt het niet behoorlijk toe te schrijven aan de fouten die door worden veroorzaakt Null die tot niet-nullable argumenten van interne functies in PHP 8.1 overgaan.
Resolutie resolution
Oplossing
Pas de volgende patch toe om het probleem op te lossen:
Hoe de pleister aanbrengen
Zie flarden in Commerce op de Gids van de Wolk voor instructies toepassen.