Användare kan inte lägga till produkten i kundvagnen om inget har valts i Tillåt länder
I den här artikeln finns en patch för det kända Adobe Commerce 2.4.4-problemet med PHP 8.1 där användare inte kan lägga till produkter i varukorgen om Tillåt länder inte är valt.
Berörda produkter och versioner
Adobe Commerce 2.4.4 med PHP 8.1
Problem
Användarna kan inte lägga till produkter i kundvagnen om alternativet Tillåt länder är avmarkerat.
Steg som ska återskapas:
- Logga in på Commerce Admin.
- Gå till Store > Configuration > General > Country options
- Avmarkera alla alternativ i fältet Tillåt länder.
- Klicka på Spara konfiguration för att spara konfigurationen.
- Gå till butiken och prova att lägga till en produkt i kundvagnen.
Förväntat resultat:
Du kan lägga till en produkt i kundvagnen.
Faktiskt resultat:
Du kan inte lägga till en produkt i kundvagnen. Följande konsolfel visas:
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)
Orsak
Adobe Commerce-konfigurationen hämtar null
om en flervalskonfiguration inte har några markerade objekt. Den här konfigurationen kan bearbetas ytterligare i PHP-versioner tidigare än 8.1. I PHP 8.1 fungerar den dock inte korrekt på grund av de fel som orsakas av att Deprecate skickar null till argument som inte kan ha värdet null för interna funktioner i PHP 8.1.
Lösningar
Åtgärda problemet genom att installera följande patch:
Så här sätter du på plåstret
Mer information finns i Använda en dispositionsruta från Adobe Commerce i vår kunskapsbas för support.
Användbara länkar
Använd anpassade korrigeringar för Adobe Commerce i molninfrastrukturen i vår utvecklardokumentation.