Wenn KundInnen einen Bestellvorgang abschließen indem sie einen Kauf tätigen, dann wandelt Magento den Warenkorb in eine Bestellung (Englisch: „Order“) um.
Damit beginnt der Lebenszyklus der Bestellung, der in einem zweistufigen Modell aus Order State und Order Status abgebildet wird.
Auf erster Ebene steht der Order State, dem ein oder mehrere Order Status untergeordnet sind. Die Reihenfolge und Anzahl der Order States sind ziemlich fix codiert. Hier sollte man nach Möglichkeit nichts ändern. Versucht man Magento hier für seine eigenen Prozesse hinzubiegen, handelt man sich leicht Probleme ein.
Besser ist es, die Anpassungen und Erweiterungen des Lebenszyklus auf Ebene des Order Status vorzunehmen. Auch hier können Extensions von Drittherstellern Probleme heraufbeschwören, wenn sie den Order-Status ändern ohne Magentos eingebaute Methoden zu verwenden. Wer weiß, was er tut, kann jedoch viel erreichen.
Das offizielle Handbuch erklärt den Order Status Workflow, bietet eine Liste der Standard-Order-Status und zeigt, wie man im Backend eigene Order Status anlegt. (Manchmal ist eigene Programmierung nötig, um den neuen Status dann perfekt in die Abläufe einzubinden.)
Häufige Fragen und Antworten
In der praktischen Anwendung von Order State und Order Status ergeben sich im Detail häufig Fragen. Unter anderem, weil Details zwischen Magento 1 und Magento 2 abweichen. Hier einige Antworten auf Fragen, mit denen ich im Projekt-Alltag konfrontiert war.
Nein, zumindest ein Status mus dem State zugeordnet sein.
Ja, man kann einen bestehenden Status einem anderen State zuordnen.
Nein. Man kann nur eigene Status hinzufügen.
Das kann man beim Assignment steuern, wenn man den Status zum State zuordnet. Wenn man den Order Status bearbeitet, kann man das nicht ändern.
Dann wird e in anderer, verbleibender Status zum Standard-Status für den State.
Bitte kommentieren Sie, wenn Sie die Antwort kennen!