$wsOrderHistory

$wsOrderHistory

Mit dem $wsOrderHistory Modul können Sie die Bestellhistorie eines eingeloggten Kunden laden und im Frontend anzeigen. So können Kunden ihre vergangenen Bestellungen einsehen, Bestelldetails abrufen und z.B. Nachbestellungen tätigen. In diesem Abschnitt erfahren Sie, wie Sie die Bestellliste und einzelne Bestellungen laden können.


Inhaltsverzeichnis


Modulübersicht


Beispiel / Ausschnitt über $wsOrderHistory

{{= $wsOrderHistory | json }}


JSON-Ausgabe

{ "load": "ƒ()", "loadList": "ƒ()" }

Anmerkung: ƒ() kennzeichnet eine Funktion.

Methoden in der Übersicht

Methode

Rückgabe-Typ

Beschreibung

Methode

Rückgabe-Typ

Beschreibung

loadList()

array

Gibt eine Liste der letzten 50 Bestellungen zurück.

load()

map

Gibt eine einzelne Bestellung anhand einer Order-ID zurück.

 


 

Strukturierte Modulübersicht eine Bestellung

Die Bestelldaten sind in drei verschiedene Maps strukturiert:

  • General – enthält allgemeine Metadaten zur Bestellung.

  • Order – umfasst technische Bestellinformationen, einschließlich Preisdetails, Rabatte usw.

  • Customer – speichert Kundendaten.

Nachdem die Daten einer Bestellung geladen und einer Variable zugewiesen wurden, können Sie sich diese in einem JSON-ähnlichen Format ausgeben lassen. Dies ist hilfreich, um die Struktur und Inhalte der Produktdaten zu verstehen oder auch Fehler zu debuggen.

Dies erfolgt folgendermaßen (auskommentiert, damit die Ausgabe nicht direkt im Frontend angezeigt wird):

 

General

<!-- {{ var $myOrderData = $wsOrderHistory.load("12345") }} {{= $myOrderData.general | json }} -->

Die Ausgabe in der Developer-Konsole des Browsers könnte dann wie folgt aussehen:

{ "order": { "dateTime": "2024-11-04T08:47:35Z", "orderId": "1", "sessionId": "96396fa...", "shopId": "", "shopLanguage": "", "subshopId": "deutsch", "testMode": false } }

 

Order

<!-- {{ var $myOrderData = $wsOrderHistory.load("12345") }} {{= $myOrderData.order | json }} -->

Die Ausgabe in der Developer-Konsole des Browsers könnte dann wie folgt aussehen:

{ "payment": { "currencyIso": "EUR", "currencySymbol": "€", "defaultTaxRate": 0.19, "delivererId": "dhl", "delivererOrderText": "DHL", "deliveryCost": "0.00", "deliveryTaxRate": 0.19, "paymentId": "prepayment", "paymentOrderText": "Vorauskasse", "priceType": "gross", "subtotal": "119.75", "tax": "7.83", "total": "119.75", "totalCommission": "0.00", "totalDiscount": "0.00", "totalVoucher": "0.00" } }

 

Customer

<!-- {{ var $myOrderData = $wsOrderHistory.load("12345") }} {{= $myOrderData.customer | json }} -->

Die Ausgabe in der Developer-Konsole des Browsers könnte dann wie folgt aussehen:

{ "customer": { "accountId": 1, "accountType": "registered", "email": "testmann@websale.de", "ipAddress": "..." } }

 


Templates

Die Bestellhistorie kann in allen Templates geladen werden und wird typischerweise im Konto-Bereich integriert.


Variablen

Für $wsOrderHistory stehen keine Variablen zur Verfügung.

 


Methoden

$wsOrderHistory.loadList()

Gibt eine Liste der letzten 50 Bestellungen zurück.


Signatur
$wsOrderHistory.loadList()


Rückgabe
Array - Liste mit Order-Maps.


Beispiel, das die Bestellhistorie in eine Variable lädt.

{{ var $myOrderListVariable = $wsOrderHistory.loadList() }}

 



$wsOrderHistory.load()

Gibt eine einzelne Bestellung anhand einer Order-ID zurück.


Signatur
$wsOrderHistory.load(orderId)


Rückgabe
Map - Order-Map mit allen Bestelldaten.


Parameter

Name

Typ

Pflicht

Beschreibung

Name

Typ

Pflicht

Beschreibung

orderId

string

ja

ID der Bestellung, die geladen werden soll.


Beispiel, das eine Bestellung in eine Variable lädt.

{{ var $order = $wsOrderHistory.load("12345") }}

 

Mit Verwendung der Funktion $wsOrderHistory.load stehen verschiedene Variablen zur Verfügung, um Daten zur Bestellung abzurufen und auszugeben. Nachfolgend eine Übersicht, welche Variablen verfügbar sind.

 

Order-Daten (Rückgabe von $wsOrderHistory.load() )

Zunächst ist es notwendig, die Map mit den Order-Daten, wie im obigen Beispiel dargestellt, einer lokalen Variable zuzuweisen. Diese kann anschließend an verschiedenen Stellen im Template verwendet werden.

JSON-Ausgabe der Variablen:

{ "general": { "orderId": "...", "dateTime": "...", "shopId": "...", "subshopId": "...", "sessionId": "...", "shopLanguage": "...", "testMode": true/false }, "order": { "priceType": "...", "currencyIso": "...", "currencySymbol": "...", "defaultTaxRate": "...", "paymentId": "...", "paymentOrderText": "...", "delivererId": "...", "delivererOrderText": "...", "deliveryCost": "...", "deliveryTaxRate": "...", "subtotal": "...", "total": "...", "tax": "...", "totalDiscount": "..." }, "customer": { "accountType": "...", "accountId": "...", "email": "...", "ipAddress": "..." }, "orderList": { "items": [...] }, "billAddress": { ... }, "shippingAddress": { ... }, "freeFields": { ... } }

 

Variablen in der Übersicht

Allgemeine Variablen:

Variable

Typ

Beschreibung

Variable

Typ

Beschreibung

general

map

Map mit allgemeine Informationen zur Bestellung.

orderId

string

ID der Bestellung.

dateTime

string

Datum und Uhrzeit der Bestellung.

shopId

string

ID des Shops, in dem die Bestellung getätigt wurde.

subshopId

string

ID des Subshops, in dem die Bestellung aufgegeben wurde.

sessionId

string

ID der Session, in der die Bestellung aufgegeben wurde.

shopLanguage

string

Sprache des Shops, in dem die Bestellung aufgegeben wurde.

testMode

bool

Prüft, ob die Bestellung im Testmodus ausgeführt wurde.

Informationen zur Bestellung:

Variable

Typ

Beschreibung

Variable

Typ

Beschreibung

order

map

Map mit Daten zur Bestellung (Preise, Versand, Zahlungsart etc.)

priceType

string

Preistyp: "net" oder "gross".

currencyIso

string

ISO-Code der Währung (z.B. "EUR").

currencySymbol

string

Währungssymbol (z.B. "€").

defaultTaxRate

string

Standard-Steuersatz.

paymentId

string

ID der Zahlungsart.

paymentOrderText

string

Beschreibung der Zahlungsart.

delivererId

string

ID der Versandart.

delivererOrderText

string

Beschreibung der Versandart.

deliveryCost

string

Versandkosten.

deliveryTaxRate

string

Steuersatz der Versandkosten.

subtotal

string

Warenwert der Bestellung.

total

string

Gesamtpreis der Bestellung.

tax

string

Gesamt-Steuern der Bestellung.

totalDiscount

string

Gesamt-Rabatt der Bestellung.

Informationen zum Kunden:

Variable

Typ

Beschreibung

Variable

Typ

Beschreibung

customer

map

Map mit Daten über den Käufer.

accountType

string

Kontotyp: "Gast" oder "Bestandskunde".

accountId

string

ID des Accounts.

email

string

E-Mail des Käufers.

ipAddress

string

IP-Adresse des Käufers.

Weitere Informationen:

Variable

Typ

Beschreibung

Variable

Typ

Beschreibung

orderList

map

Map mit Daten über bestellte Artikel.

items

array

Liste der bestellten Produkte.

billAddress

map

Map mit Rechnungsadressdaten.

shippingAddress

map

Map mit Lieferadressdaten.

freeFields

map

Map mit freien Feldern, die bei der Bestellung angegeben wurden.


Beispiele

 

Anzeige der Bestelldaten

Nachdem eine Bestellung aus der Bestellhistorie geladen und einer Variable zugewiesen wurde, kann auf die Bestelldaten über die verfügbaren Maps zugegriffen werden.

In diesem Beispiel wird die Bestellung der Variable $myOrder zugewiesen. Die Bestelldaten können aus dieser Variable geladen werden und im Template frei platziert werden

{{if $wsViews.current.params.orderHistorySelect}} {{var $myOrder = $wsOrderHistory.load($wsViews.current.params.orderHistorySelect)}} {{ /if }}

 

General Map - Allgemeine Infos

In der Map $myOrder.general werden allgemeine Infos wie zum Beispiel Bestellung ID, Datum der Bestellung geladen.

Bestellung ID: {{= $myOrder.general.orderId }} Bestelldatum: {{= $myOrder.general.dateTime }} Shop ID: {{= $myOrder.general.shopId }} Subshop ID: {{= $myOrder.general.subshopId }} Session ID: {{= $myOrder.general.sessionId }} Sprache des Shops: {{= $myOrder.general.shopLanguage }} Bestellung im Testmodus abgegeben: {{ if $myOrder.general.testMode }}True{{ /if }}

 

Order Map - Infos zur Bestellung

In der Map $myOrder.orderwerden technische Infos wie zum Beispiel Kosten, Zahlungsart, Versandart und Rabatte der Bestellung geladen.

Preis "net" oder "gross" (brutto/netto): {{= $myOrder.order.priceType }} ISO-Code der Währung: {{= $myOrder.order.currencyIso }} Symbol der Währung: {{= $myOrder.order.currencySymbol }} Standard-Steuersatz: {{= $myOrder.order.defaultTaxRate }} ID der Zahlungsart: {{= $myOrder.order.paymentId }} Beschreibung der Zahlungsart: {{= $myOrder.order.paymentOrderText }} ID der Versandart: {{= $myOrder.order.delivererId }} Beschreibung der Versandart: {{= $myOrder.order.delivererOrderText }} Extrakosten der Versandart: {{= $myOrder.order.deliveryCost }} Steuersatz der Versandart-Kosten: {{= $myOrder.order.deliveryTaxRate }} Warenwert: {{= $myOrder.order.subtotal }} Gesamtpreis: {{= $myOrder.order.total }} Gesamt-Steuern: {{= $myOrder.order.tax }} Gesamt-Rabatt: {{= $myOrder.order.totalDiscount }}

 

Customer Map - Infos zum Kunden

In der Map $myOrder.customer werden Kundeninfos wie zum Beispiel Adresse, Kundennummer geladen.

Kontotyp ("Gast" oder "Bestandskunde"): {{= $myOrder.customer.accountType }} ID des Accounts: {{= $myOrder.customer.accountId }} E-Mail des Käufers: {{= $myOrder.customer.email }} IP-Adresse des Käufers: {{= $myOrder.customer.ipAddress }}

 


Aktionen

Für $wsOrder stehen keine Aktionen zur Verfügung.


Weiterführende Links