Technologische Neuigkeiten, Bewertungen und Tipps!

Expertenlösung zum Abrufen des aktuellen Bestellstatus und des neuen Bestellstatus in Magento 2

Hinweis: Der folgende Artikel hilft Ihnen dabei: Expertenlösung zum Abrufen des aktuellen Bestellstatus und des neuen Bestellstatus in Magento 2

Magento 2 ist eine wahnsinnig flexible Plattform, die es uns Entwicklern ermöglicht, die verrückten Anforderungen unserer Kunden zu erfüllen!

Nicht wahr? 😆

Ich war kürzlich mit einer ähnlichen Situation konfrontiert, in der der Kunde eine bestimmte Aktion ausführen wollte, wenn sich der Bestellstatus änderte. Dazu musste ich es tun Erhalten Sie den aktuellen Bestellstatus und den neuen Bestellstatus in Magento 2.

In diesem Blog habe ich diese Lösung sofort veröffentlicht, damit die Entwickler sich die Mühen ersparen können, die ich für die Lösung durchgemacht habe.

Sie können den folgenden Code verwenden, um beispielsweise eine Funktion zu implementieren, bei der ein Popup-Fenster angezeigt wird, wenn der Bestellstatus von „Aufgegeben“ in „Bearbeitung“ geändert wird, mit dem Hinweis, dass Sie diesen Gutscheincode verwenden können, oder eine Funktion zur Berechnung und Rückerstattung des Steuerbetrags bei einer Bestellung platziert und fertiggestellt.

Rufen Sie den vorherigen und nächsten Bestellstatus in Magento 2 ab, um eine Aktion auszuführen, wenn sich der Bestellstatus ändert, indem Sie den folgenden Code verwenden:

Schritte zum Abrufen des aktuellen Bestellstatus und des neuen Bestellstatus in Magento 2:

  1. Erstellen di.xml Datei unter app/code/Vendor/Extension/etc/ Ordner

  2. Erstellen OrderPlugin.php Datei unter app/code/Anbieter/Erweiterung/Plugin/

    getOrigData(‘status’); $newData = $object->getData(‘status’); \Magento\Framework\App\ObjectManager::getInstance()->get(‘Psr\Log\LoggerInterface’)->info(print_r(“Old Data = $oldData”,true)); \Magento\Framework\App\ObjectManager::getInstance()->get(‘Psr\Log\LoggerInterface’)->info(print_r(“New Data = $newData”,true)); } }

    Namespace Vendor\Extension\Plugin;

    verwenden Sie Magento\Sales\Model\ResourceModel\Order;

    Klasse OrderPlugin

    {

    öffentliche Funktion afterSave(

    Bestellen Sie $subject,

    $result, $object

    ) {

    $oldData = $object->getOrigData(‘status’);

    $newData = $object->getData(‘status’);

    \Magento\Framework\App\ObjectManager::getInstance()->get(‘Psr\Log\LoggerInterface’)->info(print_r(“Old Data = $oldData”,true));

    \Magento\Framework\App\ObjectManager::getInstance()->get(‘Psr\Log\LoggerInterface’)->info(print_r(“New Data = $newData”,true));

    }

    }

Das ist es.

Sie können den Bestellstatus auch im Frontend in Magento 2 sichtbar machen, indem Sie die Backend-Konfiguration anpassen.

Erfahren Sie hier, wie Sie in Magento 2 ein Bestellstatusetikett erhalten.

Irgendwelche Zweifel? Bitte erwähnen Sie sie im Kommentarbereich unten. Gerne helfe ich Ihnen schnellstmöglich weiter.

Teilen Sie die Lösung über soziale Medien mit anderen Magento-Entwicklern.

Danke schön.