$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 |
|---|---|---|
| array | Gibt eine Liste der letzten 50 Bestellungen zurück. |
| 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ückgabeArray - 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ückgabeMap - Order-Map mit allen Bestelldaten.
Parameter
Name | Typ | Pflicht | Beschreibung |
|---|---|---|---|
| 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 |
|---|---|---|
| map | Map mit allgemeine Informationen zur Bestellung. |
| string | ID der Bestellung. |
| string | Datum und Uhrzeit der Bestellung. |
| string | ID des Shops, in dem die Bestellung getätigt wurde. |
| string | ID des Subshops, in dem die Bestellung aufgegeben wurde. |
| string | ID der Session, in der die Bestellung aufgegeben wurde. |
| string | Sprache des Shops, in dem die Bestellung aufgegeben wurde. |
| bool | Prüft, ob die Bestellung im Testmodus ausgeführt wurde. |
Informationen zur Bestellung:
Variable | Typ | Beschreibung |
|---|---|---|
| map | Map mit Daten zur Bestellung (Preise, Versand, Zahlungsart etc.) |
| string | Preistyp: |
| string | ISO-Code der Währung (z.B. |
| string | Währungssymbol (z.B. |
| string | Standard-Steuersatz. |
| string | ID der Zahlungsart. |
| string | Beschreibung der Zahlungsart. |
| string | ID der Versandart. |
| string | Beschreibung der Versandart. |
| string | Versandkosten. |
| string | Steuersatz der Versandkosten. |
| string | Warenwert der Bestellung. |
| string | Gesamtpreis der Bestellung. |
| string | Gesamt-Steuern der Bestellung. |
| string | Gesamt-Rabatt der Bestellung. |
Informationen zum Kunden:
Variable | Typ | Beschreibung |
|---|---|---|
| map | Map mit Daten über den Käufer. |
| string | Kontotyp: |
| string | ID des Accounts. |
| string | E-Mail des Käufers. |
| string | IP-Adresse des Käufers. |
Weitere Informationen:
Variable | Typ | Beschreibung |
|---|---|---|
| map | Map mit Daten über bestellte Artikel. |
| array | Liste der bestellten Produkte. |
| map | Map mit Rechnungsadressdaten. |
| map | Map mit Lieferadressdaten. |
| 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