Zum Hauptinhalt springen
Ein Käufer, der wissen will, was er vor drei Monaten bestellt hat, sucht diese Information im Kundenkonto. Die Bestellhistorie beantwortet ihm das, ohne dass er bei Ihnen anrufen muss. Weil dabei kundenspezifische Daten erscheinen, steht die Funktion erst nach der Anmeldung zur Verfügung.

Wie die Bestelldaten aufgebaut sind

Die Bestellhistorie zeigt keine aktuellen Produktdaten, sondern die eingefrorenen Daten der damaligen Bestellung, in der Sprache und mit den Bezeichnungen von damals. Ändert sich später ein Produktname, bleibt in der Historie der alte stehen. Genau das ist der Sinn der Sache. Die Daten sind in Sektionen gegliedert, und jede Sektion enthält Parameter. Damit sich die Tags von den Produktdaten-Tags des Shops unterscheiden, tragen alle das Präfix OH für Order History, gefolgt von S für Sektion oder P für Parameter. Untersektionen erreichen Sie, indem Sie die Klammerungen ineinander schachteln. So legen Sie beispielsweise eine Schleife über alle Positionen einer Bestellung. Mit dem schließenden Tag verlassen Sie die Sektion wieder.
Sicherheitsrelevante Daten sind gesperrt. Die Sektion <CreditCard> lässt sich nicht auswählen, Kartennummern und Prüfziffern erscheinen also nie in der Historie.

Die drei Formen von OH-P

Zu vielen Parametern speichern die Bestelldaten nicht einen, sondern bis zu drei Werte: den technischen Wert, einen lesbaren Anzeigewert und einen Anzeigenamen. Dafür gibt es drei Tag-Formen. Alle drei funktionieren auch als Klammerung mit einem Argument. Der Bereich erscheint dann nur, wenn Argument und Wert übereinstimmen. Ein Beispiel aus der Sektion <CustomerAddress>. Dort steht das Land dreifach:
Damit lassen sich Beschriftung, lesbarer Wert und technischer Code gezielt einzeln ausgeben. Nützlich ist das beispielsweise für eine Länderflagge, deren Dateiname den sprachunabhängigen ISO-Code trägt:
Welche Sektionen und Parameter Ihre Bestelldaten enthalten, hängt vom Funktionsumfang Ihres Shops ab. Eine Übersicht der wichtigsten finden Sie in den Materialien.

Welche Variante passt

Für die Anzeige stehen zwei Wege zur Wahl. Die frei positionierbare Anzeige ist die Empfehlung. Der Käufer sieht seine Bestellungen, bevor er eine auswählt, statt sich durch ein Auswahlfeld raten zu müssen. Besonders lohnt sie sich, wenn Sie weder die WWS-Infodatenschnittstelle noch die WS-REST-OrderManagement-Schnittstelle einsetzen, denn dann ist sie die einzige Stelle, an der der Käufer seine Bestellungen überhaupt zu sehen bekommt.

Gemeinsame Vorbereitung

Diese drei Schritte gelten für beide Varianten.

Schritt 1: Freischaltung

Eine Freischaltung durch WEBSALE ist nicht erforderlich.

Schritt 2: Reichweite festlegen

Betreiben Sie mehrere Subshops, entscheiden Sie, ob die Historie alle davon umfasst oder nur den, in dem der Käufer gerade angemeldet ist.
Für Desktop- und Mobile-Subshops desselben Sortiments gehört der Wert auf yes, sonst sieht der Käufer je nach Gerät unterschiedliche Bestellungen. Bei fachlich getrennten Subshops kann die Trennung dagegen gewollt sein. Referenz: OrderHistoryAllSubShops-Allow

Schritt 3: Template anlegen und zuweisen

Legen Sie das Template an, falls es noch nicht existiert, und tragen Sie es ein.
Referenz: Abschnitt Templates

Frei positionierbare Anzeige (empfohlen)

Das Template zeigt zwei Zustände: die Liste aller Bestellungen und die Detailansicht einer einzelnen. Unterschieden werden sie über einen frei wählbaren Parameter, im Beispiel otporderdetail. 20220902 Bestellhistorie

Was dabei zu beachten ist

Das Formular muss name="OrderHistory" tragen. Das Skript spricht es unter genau diesem Namen an. Ein anderer Name lässt die Schaltfläche wirkungslos, ohne dass eine Meldung erscheint.
Das Feld js_order_history, das das Skript setzt, steht nicht im Beispiel, weil ~FORM-OrderHistory~ es zusammen mit dem Sitzungskontext selbst in das Formular einfügt. Das funktioniert nur, wenn das Tag im action-Attribut eines echten <form>-Tags steht. ~WS-OrderHistoryOpenBtnName~ gibt den Feldnamen aus, unter dem der Shop die gewählte Bestellnummer erwartet. Das Skript schreibt die Nummer hinein und schickt das Formular ab.

Anzahl der Bestellungen je Seite

Ohne weitere Angabe zeigt der Shop zehn Bestellungen pro Seite. Liegen weniger vor, entfällt das Blättern vollständig. Die Klammerung {[WS-OrderHistoryCustomListPaging_Pages](/v8s/referenz/tags/ws/suche-listen-und-blaettern#die-tags-im-uberblick)} erscheint nur, wenn es tatsächlich mehr als eine Seite gibt. Sie müssen die Blätterleiste also nicht selbst ausblenden.

Anzeige als Auswahlliste

Diese Variante zeigt statt einer Liste ein Auswahlfeld. Sie kommt ohne Blätterfunktion aus, bietet dem Käufer aber auch keine Übersicht vor der Auswahl.

Skript in den Kopfbereich

Auswahlfeld und Meldung

Auch hier gilt: Das Formular muss name="OrderHistory" heißen.

Bestelldaten ausgeben

Dieser Teil ist für beide Varianten derselbe. Innerhalb der Detailansicht positionieren Sie die Bestelldaten frei.
Ein Parameter gilt immer nur innerhalb der aktuellen Sektion. Innerhalb von {@OH-S-Variation} lässt sich ~OH-P-Number~ nicht ausgeben, weil die Sektion <Variation> keinen Parameter Number enthält. Verlassen Sie die Sektion, um wieder auf die Daten der übergeordneten zuzugreifen.
Die Klammerung um einzelne Parameter, wie oben bei {OH-P-Company} und {OH-P-DeliveryCost}, sorgt dafür, dass Beschriftungen nicht ohne Wert stehen bleiben. Bei einer Privatadresse ohne Firma entfällt die Zeile so vollständig.
Referenz: WS-OrderHistoryLink

Umstieg von V7 auf V8

Bestellungen, die noch unter V7 aufgegeben wurden, liegen in einem anderen Format vor und lassen sich nicht mit den OH-Tags auslesen. Solange solche Bestellungen in der Historie stehen, braucht das Template deshalb zwei Zweige.
Mit der Zeit laufen die V7-Bestellungen aus der Historie heraus. Der V7-Zweig lässt sich dann entfernen.

Verwandte Themen