Benutzende können kein Produkt in den Warenkorb legen, wenn in „Länder zulassen“ nichts ausgewählt ist.
Dieser Artikel enthält einen Patch für das bekannte Problem Adobe Commerce 2.4.4 mit PHP 8.1, bei dem Benutzende keine Produkte zum Warenkorb hinzufügen können, wenn die Option Länder zulassen deaktiviert ist.
Beschreibung description
Umgebung
Adobe Commerce 2.4.4 mit PHP 8.1
Problem/Symptome
Benutzende können keine Produkte in den Warenkorb legen, wenn die Option Länder zulassen deaktiviert ist.
Schritte zur Reproduktion:
- Melden Sie sich beim Commerce Admin an.
- Zum Store
>Konfiguration>Allgemein>Länderoptionen. - Deaktivieren Sie alle Optionen im Feld Länder zulassen.
- Klicken Sie Konfiguration speichern um die Konfiguration zu speichern.
- Gehen Sie zur Storefront und versuchen Sie, ein Produkt zum Warenkorb hinzuzufügen.
Erwartetes Ergebnis:
Sie können ein Produkt zum Warenkorb hinzufügen.
Tatsächliches Ergebnis:
Sie können kein Produkt zum Warenkorb hinzufügen. Es wird der folgende Konsolenfehler angezeigt:
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)
Ursache
Die Adobe Commerce-Konfiguration ruft null ab, wenn in einer Konfiguration mit mehreren Auswahlen keine ausgewählten Elemente vorhanden sind. Diese Konfiguration wird in PHP-Versionen vor 8.1 weiter erfolgreich verarbeitet. In PHP 8.1 funktioniert es jedoch aufgrund der Fehler, die durch die Deprecate verursacht werden, die Null an nicht-löschbare Argumente interner Funktionen in PHP 8.1 übergeben , nicht richtig.
Auflösung resolution
Lösung
Um das Problem zu beheben, führen Sie den folgenden Patch durch:
Anbringen des Pflasters
Anweisungen finden unter von Patches im Handbuch zu Commerce on Cloud .