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:

  1. Logga in på Commerce Admin.
  2. Gå till Store > Konfiguration > Allmänt > Alternativ för länder.
  3. Avmarkera alla alternativ i fältet Tillåt länder.
  4. Klicka på Spara konfiguration för att spara konfigurationen.
  5. 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:

AC-2655-2-4-4-patch.zip

Så här sätter du på plåstret

Mer information finns i Tillämpa korrigeringsfiler i handboken för Commerce on Cloud.

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f