Was sind die Definitionen der Auftragsstatus? ODER: Wo soll ich meinen Bestellstatus einbinden?

25

Ich möchte einige Bestellstatus wie "Zahlung per Kreditkarte erhalten" definieren, die Frage ist, zu welchen Status sie gehören. Gibt es eine Definition für jeden eingebauten Status?

Edit: Scheint als hätte ich "status" und "state" verwechselt, ich hoffe es wird aus dem Kontext sowieso klar. Ich beschuldige die deutsche Magento-Übersetzung (State => Status, Status => Zustand)

Fabian Schmengler
quelle

Antworten:

42

Gemäß "The Definitive Guide to Magento" [1] sind die Auftragsstatus wie folgt definiert:

  • Ausstehend: Ausstehende Bestellungen sind brandneue Bestellungen, die noch nicht bearbeitet wurden. Normalerweise müssen diese Bestellungen in Rechnung gestellt und versandt werden.
  • Ausstehende PayPal- Bestellungen : Ausstehende PayPal-Bestellungen sind brandneue Bestellungen, die nicht von PayPal freigegeben wurden. [...]
  • Verarbeitung: Verarbeitung bedeutet, dass Bestellungen entweder in Rechnung gestellt oder versandt wurden, jedoch nicht beides.
  • Vollständig: Als vollständig gekennzeichnete Bestellungen wurden in Rechnung gestellt und versandt.
  • Storniert: Stornierte Bestellungen sollten verwendet werden, wenn Bestellungen storniert werden oder wenn die Bestellungen nicht bezahlt wurden.
  • Abgeschlossen: Abgeschlossene Bestellungen sind Bestellungen, denen eine Gutschrift zugewiesen wurde und deren Bestellung dem Kunden erstattet wurde.
  • Zurückgestellt: Zurückgestellte Bestellungen müssen zurückgestellt werden, bevor weitere Aktionen ausgeführt werden können.

Dazu gehört ein Status "Zahlung per Kreditkarte erhalten" processing, sofern die Bestellung noch nicht versandt wurde.


Aligent Consulting [2] hat ein Ablaufdiagramm für die Auftragszustände erstellt:

Magento Order State Flow


Quellen:

  1. Adam McCombs und Robert Banh: "Der endgültige Leitfaden für Magento", Apress, 2009 (ISBN 1430272287, 9781430272281)
  2. https://twitter.com/aligent/status/509487359172177921/photo/1
Fabian Schmengler
quelle
Ich bin alles für selbst beantwortete Fragen - aber dies scheint nur eine minderwertige Aussaat zu sein. Eine Copy + Paste-Antwort, die sonst leicht online zu finden wäre, bringt dieser Site nicht viel.
Ben Lessani - Sonassi
4
@sonassi: Ich respektiere deine Meinung und würde nicht behaupten, dass die Frage von höchster Qualität ist, aber ich habe eine Weile danach gesucht und hier oder auf SO noch keine verwandten Fragen gefunden, damit es in Zukunft jemand anderem helfen kann.
Fabian Schmengler
Ich fand das super hilfreich. Manchmal findet man Dinge leichter im Stapel als bei Google, da der Stapel im Vergleich zu Google sozusagen vorgefiltert ist. und wenn es aussät, so sei es. Sie lieferten Wert. Ich bin völlig in Ordnung mit der Aussaat.
Ahnbizcad
2

Die verschiedenen Bestellstatus sind in Mage_Sales_Model_Order definiert:

const STATE_NEW             = 'new';
const STATE_PENDING_PAYMENT = 'pending_payment';
const STATE_PROCESSING      = 'processing';
const STATE_COMPLETE        = 'complete';
const STATE_CLOSED          = 'closed';
const STATE_CANCELED        = 'canceled';
const STATE_HOLDED          = 'holded';
const STATE_PAYMENT_REVIEW  = 'payment_review';
Stefan
quelle
+1 Ist das überschreibbar? Gibt es einen Weg, dies vom Rest der API zu bekommen? zB / config / sales / possibleStatusList?
Mzn 10.08.18
1
Konstanten überschreiben? Warum möchten Sie sie überschreiben? Sie können neue Auftragsstatus im Backend definieren (System> Auftragsstatus). Wenn Sie "Auftragsstatus ändern" meinen, ist dies möglich. Und ja, Sie können den Bestellstatus auch über die API abrufen (sales_order.info-Methode oder sales_order.list-Methode)
Stefan
Ja, ich wollte die Liste ändern, nicht die Konstanten. Weißt du, wie ich auf sales_order.info in Rest API zugreifen kann? Was ist der Endpunkt? Ich habe versucht, / salesorders / info relative URL
Mzn
Sollte nicht schwer sein, siehe hier für den Zugriff im Allgemeinen: magento.stackexchange.com/a/33187/6291 und Infos zu sales_order.info hier: devdocs.magento.com/guides/m1x/api/soap/sales/salesOrder/ … Viel Glück!
Stefan
Danke für die Antwort, aber die SOAP-API ist wirklich anders als die REST-API. Aus irgendeinem Grund kann ich nicht finden, dass Sie in den REST-API-Dokumenten darüber sprechen : devdocs.magento.com/swagger/index.html Können Sie es dort sehen? Vielleicht ist es nicht in der REST-API enthalten?
Mzn
1

Da 1.5 Auftragsstatus im Admin-Bereich definiert werden können, ist XML nicht die bevorzugte Methode zum Hinzufügen / Ändern von Zuständen oder Status. Bitte unterscheiden Sie zwischen Staat und Status. Status ist "Verarbeitung" Status ist "Zahlung per Kreditkarte erhalten"

Update : Bestellstatus können in admin / sales_order_status / erstellt und geändert werden. In XML müssen Sie nichts tun. Sie können einen Status nur zuweisen, wenn die Bestellung den entsprechenden Status aufweist. Standardmäßig wird die Bestellung in den Bearbeitungsstatus versetzt, wenn sie in Rechnung gestellt oder versendet wird.

Petar Dzhambazov
quelle
War das ein Kommentar zu Sebastian Linds Antwort? Was Zustände und Status betrifft, scheint es, als hätte ich sie durcheinander gebracht (wieder ...), danke für die Korrektur.
Fabian Schmengler
-1

Sie können Ihren neuen Status mit vorhandenen Auftragsstatus verknüpfen oder ganz neu erstellen. Ändern Sie einfach die Konfigurationsdatei des Verkaufsmoduls wie folgt (app \ code \ core \ Mage \ Sales \ etc \ config.xml) mit Ihrem neuen Status:

<?xml version="1.0"?>
<config>
  <!-- ... -->
  <global>
    <sales>
      <order>
        <statuses>
          <new_status>
            <label>New Status</label>
            <description>Your Description here</description>
          </new_status>
        </statuses>
        <states>
          <new>
            <label>New</label>
            <statuses>
              <new_status/>
            </statuses>
            <visible_on_front/>
          </new>
        </states>
      </order>
    </sales>
  </global>
</config>

Aktualisieren Sie den Cache, fertig.

Sebastian Lind
quelle
2
Ich fürchte, nichts an dieser Antwort ist angemessen.
Benmarks
1
Bearbeiten Sie den Magento-Core nicht. Erstellen Sie lieber eine Konfiguration in Ihrem eigenen Modul. Magento wird Ihre und die Konfigurationsdateien des Kerns zusammenführen.
Jacques