Magento Shop Lösung: “No ordered items” – Manuelle Erstellen von Bestellung funktioniert nicht – Unzer Erweiterung Ursache

Hier in dem Beitrag geht es um die Lösung für einen Bug beim Erstellen von händischen Bestellungen/Order in Magento 2 Online Shop. Der Fehler wird in unserem Fall durch einen Bug in der Unzer Erweiterung verursacht.

Magento ver. 2.4.6-p3

Unzer Module version: 2.3.1

Wie sieht der Magento Fehler aus?

Als Fehlermeldung kommt "No ordered items" im Magento Adminbereich.

Wie ist der Fehler zu reproduzieren?

Magento Admin Bereich öffnen. Dann in den Bereich Create Order (Bestellungen) und dort eine neue Bestellung erstellen (create Order)

Magento Create Order funktioniert nicht Unzer Bug

Dann entsprechend die Order/Bestellung erstellen

Create Order Bug Mangento Admin no ordered items

Obwohl alle Daten dann korrekt eingegeben werden ist es nicht möglich Produkte hinzuzufügen.

Es kommt beim Versuch das zu machen die Info "No ordered items"

Was ist die Ursache für "No ordered items" Bug?

Die Ursache ist ein Bug in der Unzer Erweiterung.

Genauer gesagt:

Unzer package: unzerdev/magento2
Datei vendor/unzerdev/magento2/Block/Form/InvoiceSecured.php dort wird das Geburtsdatum deklariert

/**
     * @var ?BirthDate
     */
    private ?BirthDate $birthDate;

In der getBirthDate() method wird birthDate korrekt deklariert, wenn es "null" ist.

/**
     * Get BirthDate
     *
     * @return BirthDate
     * @throws LocalizedException
     */
    public function getBirthDate(): BirthDate
    {
        if ($this->birthDate === null) {
            $this->birthDate = $this->birthDateFactory->create();
            $this->birthDate->setDate($this->getInfoData('birthDate'));
        }
        return $this->birthDate;
    }

Dieser Fehler:

Typed property Unzer\PAPI\Block\Form\InvoiceSecured::$birthDate must not be accessed before initialization in /var/www/html/vendor/unzerdev/magento2/Block/Form/InvoiceSecured.php:86

Der Fix um es zu beheb ist somit:

/**
     * @var ?BirthDate
     */
    private ?BirthDate $birthDate = null;

Update der Unzer Version?

Ob ein Update der Unzer Version das Problem löst, wissen wir noch nicht und ist noch in Klärung

Der Beitrag hat geholfen? Wir freuen uns über Kommentare

Falls der Beitrag weitergeholfen hat und stundenlanges Suchen erspart hat, würden wir uns gerne über einen Kommentar freuen 😉

Mehr Informationen zu Magento Shop und Kosten finden Sie hier

Mehr Informationen zu Magento Shop Betreuung finden Sie hier

Noch keine Kommentare bis jetzt

Einen Kommentar schreiben