Användare kan inte lägga till produkten i kundvagnen om inget har valts i Tillåt länder
Den här artikeln innehåller 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 kundvagnen om alternativet Tillåt länder inte är markerat.
Beskrivning description
Miljö
Adobe Commerce 2.4.4 med PHP 8.1
Problem/symtom
Användare 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
>Konfiguration>Allmänt>Alternativ för länder. - 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 har bearbetats 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.
Upplösning resolution
Lösning
Åtgärda problemet genom att installera följande patch:
Så här sätter du på plåstret
Mer information finns i Tillämpa korrigeringsfiler i handboken för Commerce on Cloud.