Der Workflow für den Bestellvorgang ist in vier Schritte unterteilt:
Login-Step - Anmeldung für bereits registrierte Kunden oder Adresseingabe für Neukunden
Address-Step - Pflege der Rechnungs- und Lieferadresse
Payment-Delivery-Step - Auswahl der gewünschten Liefermethode und Zahlungsmethode
Confirm-Step - Anzeige des Warenkorbs mit allen Kundenangaben wie Adresse, Liefermethode und Zahlungsmethode zur Prüfung und Übermittlung der Bestellung
Je nachdem auf welchem Schritt des Checkout-Worflows man sich gerade befindet, wird im unten beschriebenen Model das Feld <liquid>workflow.current_step</liquid> mit Informationen zum aktuellen Schritt bestückt. Hingegeben erhält man unter <liquid>workflow.steps</liquid> Informationen über alle existierenden Schritte.
Verfügbarkeit in Templates
In folgenden Templates steht das <obj>workflow</obj> Objekt zur Verfügung.
Gibt Informationen über den Schritt aus, der gerade aktiv ist.
workflow.steps
Gibt eine Liste aller Schritte des Workflows zurück.
[0]
Login-Step - Anmeldung für bereits registrierte Kunden oder Adresseingabe für Neukunden
name
Gibt den Namen des Schrittes zurück.
step_number
Gibt die Nummer dieses Schrittes zurück.
url
Gibt die URL für diesen Step zurück.
next_url
Gibt die URL für den Sprung auf den nächsten Schritt zurück.
complete
Gibt <liquid>true</liquid> zurück, falls der Schritt vollständig ausgefüllt/abgeschlossen wurde.
completion_editable
Gibt <liquid>true</liquid> zurück, falls dieser Schritt editiert werden kann, nachdem dieser abgeschlossen (<liquid>completed=true</liquid>) wurde.
halted
Gibt <liquid>true</liquid> zurück, falls dieser Schritt manuell angesprungen wurde, um eine erneute Vorlage zu forcieren.
forms.customer
Formulardaten für Neukunden.
action
Gibt den Pfad für das <keyword>action</keyword>-Attribut des Formulars zurück.
valid
Gibt <liquid>true</liquid> zurück, falls das Formular keine Fehler enthält.
errors
Falls <liquid>customer.valid</liquid> nicht <liquid>true</liquid> enthält, stehen hier eine Liste von Fehlermeldungen zur Verfügung.
name
Gibt den Namen des Formulars zurück. Dieser ist in diesem Fall <keyword>customer</keyword>
fields.number
Gibt das <obj>field</obj> für die Adressnummer zurück.
Feld-Typ:
Text
fields.email
Gibt das <obj>field</obj> für die E-Mail Adresse zurück.
Feld-Typ:
E-Mail; Pflichtfeld
fields.birthday
Gibt das <obj>field</obj> für das Geburtsdatum zurück.
Feld-Typ:
Date
fields.gender
Gibt das <obj>field</obj> für das Geschlecht zurück.
Feld-Typ:
Radio
fields.first_name
Gibt das <obj>field</obj> für den Vornamen zurück. Dieses Feld ist nur dann ein Pflichtfeld, wenn das Feld <liquid>company</liquid> nicht bestückt ist.
Feld-Typ:
Text; Pflichtfeld
fields.last_name
Gibt das <obj>field</obj> für den Nachnamen zurück. Dieses Feld ist nur dann ein Pflichtfeld, wenn das Feld <liquid>company</liquid> nicht bestückt ist.
Feld-Typ:
Text; Pflichtfeld
fields.company
Gibt das <obj>field</obj> für den Unternehmensnamen zurück. Dieses Feld ist nur dann ein Pflichtfeld, wenn das Feld <liquid>first_name</liquid> und <liquid>last_name</liquid> nicht bestückt ist.
Feld-Typ:
Text; Pflichtfeld
fields.legal_entity
Gibt das <obj>field</obj> für die Rechtsform des Unternehmens zurück.
Feld-Typ:
Text
fields.line1
Gibt das <obj>field</obj> für die erste Adresszeile (z.B. Adresszusatz) zurück.
Feld-Typ:
Text
fields.line2
Gibt das <obj>field</obj> für die zweite Adresszeile (z.B. Straße) zurück.
Feld-Typ:
Text; Pflichtfeld
fields.house_number
Gibt das <obj>field</obj> für die Hausnummer zurück.
Feld-Typ:
Text
fields.zip
Gibt das <obj>field</obj> für die Postleitzahl zurück.
Feld-Typ:
Text; Pflichtfeld
fields.city
Gibt das <obj>field</obj> für die Straße zurück.
Feld-Typ:
Text; Pflichtfeld
fields.country
Gibt das <obj>field</obj> für das Land zurück.
Feld-Typ:
Select; Pflichtfeld
fields.phone
Gibt das <obj>field</obj> für die Telefonnummer zurück.
Feld-Typ:
Text
fields.vatin
Gibt das <obj>field</obj> für die Steuernummer zurück.
Feld-Typ:
Text
fields.consent_to_ads
Gibt das <obj>field</obj> für die Zustimmung von Werbung zurück.
Feld-Typ:
Checkbox
fields.user_name
Gibt das <obj>field</obj> für den Benutzernamen zurück.
Feld-Typ:
Text
fields.password
Gibt das <obj>field</obj> für das Passwort zurück.
Feld-Typ:
Text
fields.password_confirm
Gibt das <obj>field</obj> für die Bestätigung des Passworts zurück.
Feld-Typ:
Text
fields._string[0-10]
Gibt das <obj>field</obj> für die kundenbezogenen Textfelder zur freien Belegung zurück.
Feld-Typ:
Text
fields._integer[0-10]
Gibt das <obj>field</obj> für die kundenbezogenen Ganzzahl-Felder zur freien Belegung zurück.
Feld-Typ:
Text
fields._float[0-2]
Gibt das <obj>field</obj> für die kundenbezogenen Gleitkommazahl-Felder zur freien Belegung zurück.
Feld-Typ:
Text
forms.login
Formulardaten für die Anmeldung bereits registrierter Kunden.
action
Gibt den Pfad für das <keyword>action</keyword>-Attribut des Formulars zurück.
valid
Gibt <liquid>true</liquid> zurück, falls das Formular keine Fehler enthält.
errors
Falls <liquid>customer.valid</liquid> nicht <liquid>true</liquid> enthält, stehen hier eine Liste von Fehlermeldungen zur Verfügung.
name
Gibt den Namen des Formulars zurück. Dieser ist in diesem Fall <keyword>customer</keyword>
fields
Gibt die Liste der verfügbaren Felder des Formulars zurück.
fields.user_name
Gibt die Formularfeld-Daten für die Kundennummer zurück.
Feld-Typ:
Text
fields.password
Gibt ein <obj>field</obj> Objekt mit Informationen über das Formularfeld für die E-Mail Adresse zurück.
Feld-Typ:
E-Mail; Pflichtfeld
fields.remember_me
Gibt ein <obj>field</obj> Objekt mit Informationen über das Formularfeld für das Geburtsdatum zurück.
Feld-Typ:
Text
[1]
Address-Step - Pflege der Rechnungs- und Lieferadresse
name
Gibt den Namen des Schrittes zurück.
step_number
Gibt die Nummer dieses Schrittes zurück.
url
Gibt die URL für diesen Step zurück.
next_url
Gibt die URL für den Sprung auf den nächsten Schritt zurück.
complete
Gibt <liquid>true</liquid> zurück, falls der Schritt vollständig ausgefüllt/abgeschlossen wurde.
completion_editable
Gibt <liquid>true</liquid> zurück, falls dieser Schritt editiert werden kann, nachdem dieser abgeschlossen (<liquid>completed=true</liquid>) wurde.
halted
Gibt <liquid>true</liquid> zurück, falls dieser Schritt manuell angesprungen wurde, um eine erneute Vorlage zu forcieren.
forms.billing_address
Formulardaten für die Rechnungsadresse.
action
Gibt den Pfad für das action-Attribut des Formulars zurück.
forms.shipping_address
Formulardaten für die Lieferadresse.
action
Gibt den Pfad für das action-Attribut des Formulars zurück.
[2]
Payment-Delivery-Step - Auswahl der gewünschten Liefermethode und Zahlungsmethode
name
Gibt den Namen des Schrittes zurück.
step_number
Gibt die Nummer dieses Schrittes zurück.
url
Gibt die URL für diesen Step zurück.
next_url
Gibt die URL für den Sprung auf den nächsten Schritt zurück.
complete
Gibt <liquid>true</liquid> zurück, falls der Schritt vollständig ausgefüllt/abgeschlossen wurde.
completion_editable
Gibt <liquid>true</liquid> zurück, falls dieser Schritt editiert werden kann, nachdem dieser abgeschlossen (<liquid>completed=true</liquid>) wurde.
halted
Gibt <liquid>true</liquid> zurück, falls dieser Schritt manuell angesprungen wurde, um eine erneute Vorlage zu forcieren.
forms.shipping_method
Formulardaten für die Rechnungsadresse.
action
Gibt den Pfad für das action-Attribut des Formulars zurück.
forms.payment_method
Formulardaten für die Lieferadresse.
action
Gibt den Pfad für das action-Attribut des Formulars zurück.
forms.bank_account
Formulardaten für die Lieferadresse.
action
Gibt den Pfad für das action-Attribut des Formulars zurück.
[3]
Confirm-Step - Anzeige des Warenkorbs mit allen Kundenangaben wie Adresse, Liefermethode und Zahlungsmethode zur Prüfung und Übermittlung der Bestellung
name
Gibt den Namen des Schrittes zurück.
step_number
Gibt die Nummer dieses Schrittes zurück.
url
Gibt die URL für diesen Step zurück.
next_url
Gibt die URL für den Sprung auf den nächsten Schritt zurück.
complete
Gibt <liquid>true</liquid> zurück, falls der Schritt vollständig ausgefüllt/abgeschlossen wurde.
completion_editable
Gibt <liquid>true</liquid> zurück, falls dieser Schritt editiert werden kann, nachdem dieser abgeschlossen (<liquid>completed=true</liquid>) wurde.
halted
Gibt <liquid>true</liquid> zurück, falls dieser Schritt manuell angesprungen wurde, um eine erneute Vorlage zu forcieren.
forms.confirm
Formulardaten für die Lieferadresse.
action
Gibt den Pfad für das action-Attribut des Formulars zurück.