Wenn ein Käufer Bestellungen anschauen will, die er in der Vergangenheit getätigt hat, können Sie eine solche Möglichkeit anbieten in Form eines Links oder einer Schaltfläche im Kundenkonto. Da diese Funktion kundenspezifische Informationen anzeigt, steht sie Käufern erst nach Anmeldung zur Verfügung.
Es gibt zwei Arten, die Bestellhistorie anzuzeigen/zu integrieren:
▪Mit der aktuellen Integration erhält der Käufer eine frei positionierbare (z. B. tabellarische) Auflistung seiner getätigten Bestellungen. Dabei können neben Datum/Uhrzeit und Bestellnummer weitere Informationen angezeigt werden, z. B. Versandadresse oder Bestellsumme.
Diese Darstellung der Bestellungen ist für alle Kunden ein Mehrwert, die nicht die WWS-Infodatenschnittstelle oder die WS-REST-OrderManagement-Schnittstelle im Einsatz haben.
▪Bei der bisherigen Integration wird dem Käufer eine Auswahlliste präsentiert, aus der er die gewünschte Bestellung auswählen kann.
Inhalt
In der Bestellhistorie werden die Bestelldaten in der Sprache und mit den Bezeichnungen angezeigt, wie bei der Bestellung verwendet. Jeder Parameter der Bestelldaten besteht aus zwei Elementen: dem angezeigten Parameternamen (technische ID), wie er zum Bestellzeitpunkt im Shop vorhanden war, und dem zugehörigen Wert.
|
Hinweis zu den Bestelldaten |
Eine Übersicht der Bestelldaten mit den Bezeichnungen (technische IDs) der Sektionen und Parametern finden Sie unter Die tatsächlichen Bestelldaten hängen von der Komplexität und dem Funktionsumfang Ihres WEBSALE-Shops ab. Benötigen Sie die komplette technische Dokumentation der Bestelldaten? Sie finden diese unter |
Es können alle Daten aus früheren Bestellungen angezeigt werden, außer sie sind sicherheitsrelevant. So kann aus Sicherheitsgründen z. B. die Sektion <CreditCard> nicht ausgewählt werden und somit können keine Kreditkartennummern oder Kartenprüfwerte angezeigt werden.
Auswahl der anzuzeigenden Datenbereiche und Anzeige der Daten
Damit sie auf den Shop-Templates klar von aktuellen Produktdaten-Tags des Shops unterscheidbar sind, tragen alle Bestellhistorie-Parameter das Präfix "OH" (für "Order History"). Zur Auswahl eines anzuzeigenden Inhaltes stehen Ihnen zwei Tag-Typen zur Verfügung, nämlich "S"- und "P"-Typen. "S" steht dabei für Sektion und "P" für Parameter. Die Tags haben somit alle den Präfix "OH-S-" oder "OH-P-".
Durch das Tag OH-S-"technische ID" legen Sie die Sektion fest, aus der anschließend mit Tags der Form OH-P-"technische ID" die Werte der Parameter angezeigt werden. Auf Untersektionen können Sie durch eine Verschachtelung von Bereichs- oder Schleifen-Tags zugreifen. Somit kann man z. B. eine Schleife über alle Positionen einer Bestellung legen (Sektionen <Item>). Durch Schließen eines Sektions-Tags "verlässt" man die Sektion.
Tags für Sektionen
OH-S-"technische ID": Navigation und Auswahl einer Sektion der Bestelldaten. Das Bereichs-Tag zeigt an, ob mindestens eine Sektion mit der angegeben ID vorhanden ist. Das Schleifen-Tag läuft über alle Sektionen mit der technischen ID.
Referenz: OH-S-"technische ID"
OH-S-RawData: Innerhalb eines beliebigen OH-S-"technische ID"-Tags eingesetzt, zeigt das Bereichs-Tag an, ob die aktuelle Sektion der Bestelldaten nur Text enthält (z. B. Sektion <CustomerComment>). Als Einzel-Tag wird dieser Text ausgegeben.
Referenz: OH-S-RawData
OH-S-LoopCounter: Das Einzel-Tag gibt die Position innerhalb der aktuellen Schleife aus. Damit lässt sich z. B. ein Farbwechsel in Schleifen realisieren.
Verwendung mit einem Argument: Führt mit dem Argument und der Zahl der Position der Schleife eine Berechnung durch, die mit jedem Schleifendurchgang von 1 bis zum Argument zählt und dann wieder bei 1 beginnt. Näheres dazu siehe Materialien: Modulo-Rechnung.
Verwendung mit zwei Argumenten: Bei verschachtelten Loops können Sie auch auf die Position einer äußeren Schleife zugreifen, indem Sie hier den ParentLevel angeben. Geben Sie hier z. B. 1 an, so wird die Position der Schleife eine Ebene höher verwendet.
Referenz: OH-S-LoopCounter
Tags für Parameter
OH-P-"technische ID": Das Einzel-Tag gibt den Wert des Parameters "technische ID"_DValue (Anzeigewert zum Parameter) aus. Existiert dieser nicht, so wird der Wert des Parameters "technische ID" ausgegeben. Optional wird beim Bereichs-Tag ein Argument unterstützt. Der Bereich wird nur dann angezeigt, wenn Argument und Wert identisch sind.
Referenz: OH-P-"technische ID"
OH-P-"technische ID"_text: Das Einzel-Tag gibt den Wert des Parameters "technische ID"_DName (Anzeigename zum Parameter) aus. Existiert dieser nicht, so wird der Name des Parameters, also die technische ID selber, angezeigt. Optional wird beim Bereichs-Tag ein Argument unterstützt. Der Bereich wird nur dann angezeigt, wenn Argument und Wert identisch sind.
Referenz: OH-P-"technische ID"_text
OH-P-"technische ID"_rawdata: Zugriff auf den Wert des Parameters "technische ID". Optional wird beim Bereichs-Tag ein Argument unterstützt. Der Bereich wird nur dann angezeigt, wenn Argument und Wert identisch sind.
Referenz: OH-P-"technische ID"_rawdata
Beispiel zum Unterschied zwischen OH-P-"technische ID" und OH-P-"technische ID"_rawdata:
An einigen Stellen wird in den Bestelldaten sowohl ein technischer Wert als auch ein lesbarer/angezeigter Wert gespeichert. Ein Beispiel hierfür ist das Land aus der Bestelldaten-Sektion <CustomerAddress>. Hier werden der 3-stellige ISO-Code und die Länderbezeichnung gespeichert:
<CustomerAddress>
...
Country = DEU
Country_DValue = Deutschland
Country_DName = Land
...
</CustomerAddress>
Materialien: Übersicht der wichtigsten Sektionen und Parameter in den Bestelldaten
Sie könnten jetzt zum Beispiel bei der Anzeige nach dem ausgeschriebenen Land eine Länderflagge anzeigen lassen.
Die Flagge ist eine Bilddatei, die im Bildnamen den 3-stelligen ISO-Code beinhaltet, da dieser sprachunabhängig ist:
{OH-S-CustomerAddress}
...
~OH-P-Country_text~ <!-- Bezeichnung, lesbar (Country_DName: Land) -->
~OH-P-Country~ <!-- gewähltes Land, lesbar (Country_DValue: Deutschland) -->
<img src="~OH-P-Country_rawdata~.jpg"> <!-- gewähltes Land, technischer Wert (Country: DEU) -->
...
{/OH-S-CustomerAddress}
Sie können die Bestellhistorie entweder frei positionierbar (z. B. als Tabelle) oder als Auswahlliste integrieren.
Frei positionierbare Anzeige (empfohlen)
Mit der aktuellen Integration kann dem Käufer beispielsweise eine tabellarische Auflistung seiner getätigten Bestellungen angezeigt werden.
Beispiel:
Schritt 1: Freischaltung/Aktivierung
Für die Bestellhistorie ist keine Freischaltung seitens WEBSALE nötig.
Schritt 2: Anpassung in der Shopkonfiguration shop.config
Mittels des Parameters OrderHistoryAllSubShops-Allow im Abschnitt Basic der Shopkonfiguration shop.config können Sie einstellen, ob sich die Abfrage der Bestellhistorie für ein Kundenkonto auf alle Subshops (z. B. Desktop und mobil) oder nur auf den Subshop beziehen soll, bei dem der Käufer gerade angemeldet ist.
<Basic>
...
OrderHistoryAllSubShops-Allow = yes
...
</Basic>
Referenz: OrderHistoryAllSubShops-Allow
Schritt 3: Template OrderHistory erstellen
Die Integration erfolgt auf dem Template OrderHistory. Ist dieses noch nicht vorhanden, so legen Sie es bitte an oder verwenden Sie eine Beispieldatei und passen diese an. Fügen Sie den Namen des Templates in die Shopkonfiguration shop.config innerhalb des Abschnitts <Templates> ein.
<Templates>
...
OrderHistory = ws_order_history.htm
...
</Templates>
Referenz: Templates
Schritt 4: Anzeige der Bestellungen und Blätterfunktion einbinden
In unserem Beispiel werden 10 Bestellungen auf einer Seite angezeigt. Alle weiteren Bestellungen können durch eine Blätterfunktion aufgerufen werden.
Beispiel:
...
{!WS-OTPorderdetail}
<form action="~FORM-OrderHistory~" name="OrderHistory" method="Post" id="wsOrderHistoryForm">
{MSG-OrderHistory_Notify}~MSG-OrderHistory_Notify~{/MSG-OrderHistory_Notify}
{WS-OrderHistoryCustomList}
<input name="~WS-OrderHistoryOpenBtnName~" type="hidden">
<input type="hidden" name="otporderdetail" value="true">
<table>
<tr>
<th>Bestellung #</th>
<th>Datum</th>
<th>Verschickt an</th>
<th>Artikel</th>
<th>Bestellsumme</th>
<th>Aktion</th>
</tr>
{@WS-OrderHistoryCustomList}
<tr>
<td>{OH-S-ID}{OH-P-OrderNumber}~OH-P-OrderNumber~{/OH-P-OrderNumber}{/OH-S-ID}</td>
<td>{OH-S-ID}{OH-P-Date}~OH-P-Date~{/OH-P-Date}{/OH-S-ID}</td>
<td>{!OH-S-DeliveryAddress}{OH-S-CustomerAddress}~OH-P-Salutation~ ~OH-P-FirstName~ ~OH-P-LastName~{/OH-S-CustomerAddress}
{/!OH-S-DeliveryAddress}{OH-S-DeliveryAddress}~OH-P-Salutation~ ~OH-P-FirstName~ ~OH-P-LastName~{/OH-S-DeliveryAddress}</td>
<td>{OH-S-OrderList}{OH-S-Item}~DC-Counter1_reset~{@OH-S-Item}~DC-Counter1_Inc~{/@OH-S-Item}~DC-Counter1~{/OH-S-Item}{/OH-S-OrderList}</td>
<td>{OH-S-Order}~OH-P-Total~{/OH-S-Order}</td>
<td><a href="javascript:void(0)" onclick="wsShowOrder({OH-S-ID}~OH-P-OrderNumber~{/OH-S-ID});">Bestellung ansehen</a></td>
</tr>
{/@WS-OrderHistoryCustomList}
</table>
{WS-TplComment}<!-- Script um die einzelnen Bestellungen anzuzeigen -->{/WS-TplComment}
<script>
function wsShowOrder(ordernumber){
document.forms['OrderHistory'].~WS-OrderHistoryOpenBtnName~.value = ordernumber;
document.forms['OrderHistory'].js_order_history.value = "on";
document.forms['OrderHistory'].submit();
}
</script>
{/WS-OrderHistoryCustomList}
{WS-OrderHistoryCustomListPaging_Pages}
{WS-OrderHistoryCustomListPaging_BackLink}
<a href="~WS-OrderHistoryCustomListPaging_BackLink~">Back</a>
{/WS-OrderHistoryCustomListPaging_BackLink}
{@WS-OrderHistoryCustomListPaging_Pages}
<a href="~WS-OrderHistoryCustomListPaging_PagesLink~" {WS-OrderHistoryCustomListPaging_PagesActive}
{/WS-OrderHistoryCustomListPaging_PagesActive}>~WS-OrderHistoryCustomListPaging_PagesNumber~</a>
{/@WS-OrderHistoryCustomListPaging_Pages}
{WS-OrderHistoryCustomListPaging_NextLink}
<a href="~WS-OrderHistoryCustomListPaging_NextLink~">Next</a>
{/WS-OrderHistoryCustomListPaging_NextLink}
{/WS-OrderHistoryCustomListPaging_Pages}
</form>
{/!WS-OTPorderdetail}
{WS-OTPorderdetail}
...
<!-- Fügen Sie hier die Tags zur Anzeige der ausgewählten Bestellung ein (siehe Schritt 5) -->
...
{/WS-OTPorderdetail}
...
Referenz: WS-OrderHistoryCustomList
Referenz: WS-OrderHistoryOpenBtnName
Referenz: WS-OrderHistoryCustomListPaging_Pages
Referenz: WS-OrderHistoryCustomListPaging_BackLink
Referenz: WS-OrderHistoryCustomListPaging_PagesLink
Referenz: WS-OrderHistoryCustomListPaging_PagesActive
Referenz: WS-OrderHistoryCustomListPaging_PagesNumber
Referenz: WS-OrderHistoryCustomListPaging_NextLink
Referenz: WS-OTPX
Schritt 5: Anzeige der Bestellungen
Innerhalb dieser Sektion können Sie alle Bestelldaten frei positionieren.
...
{OH-S-OrderList} <!-- Auswahl der Sektion <OrderList> -->
{OH-S-Item} <!-- Auswahl der Sektion <Item> -->
{@OH-S-Item} <!-- Schleife über alle Einzelpositionen (Sektionen <Item> innerhalb der Sektion <OrderList>) -->
~OH-P-Name~ <!-- Name des Produktes, z. B. "Hose" -->
~OH-P-Number~ <!-- Ausgabe der Produktnummer -->
~OH-P-Price_text~: ~OH-P-Price~ <!-- Name des Parameters (z. B. "Preis") und der Wert (z. B. "5,99") -->
{@OH-S-Variation} <!-- Schleife über alle Varianten des gekauften Produktes -->
~OH-P-Name~ <!-- Name der Variation, z. B. "Farbe" -->
~OH-P-Option~ <!-- Wert der Variation, z. B. "rot" -->
~OH-P-Number~ <!-- Anzeige der Produktnummer ist hier NICHT möglich, da innerhalb der Sektion <Variation> kein Parameter "Number" existiert -->
{/@OH-S-Variation}
{/@OH-S-Item}
{/OH-S-Item}
{/OH-S-OrderList}
...
{OH-S-CustomerAddress} <!-- Auswahl der Sektion <CustomerAddress> -->
{OH-P-Company}~OH-P-Company~{/OH-P-Company} <!-- Ausgabe der Rechnungsadresse -->
~OH-P-Salutation~
~OH-P-FirstName~ ~OH-P-LastName~
~OH-P-Street1~
~OH-P-Zip~ ~OH-P-City~
~OH-P-Country~
{/OH-S-CustomerAddress}
...
{OH-S-CustomerComment} <!-- Auswahl der Sektion <CustomerComment> -->
~OH-S-RawData~ <!-- Ausgabe des Kommentartextes -->
{/OH-S-CustomerComment}
...
{OH-S-Order} <!-- Auswahl der Sektion <Order> -->
{OH-P-DeliveryCost}
~OH-P-DeliveryCost_text~: ~OH-P-DeliveryCost~ <!-- Ausgabe der Versandkosten -->
{/OH-P-DeliveryCost}
{OH-P-PaymentCost}
~OH-P-PaymentCost_text~: ~OH-P-PaymentCost~ <!-- Ausgabe der Zahlungskosten -->
{/OH-P-PaymentCost}
~OH-P-Total_text~: ~OH-P-Total~ <!-- Ausgabe der Gesamtsumme -->
{/OH-S-Order}
...
Referenz: OH-S-"technische ID"
Referenz: OH-P-"technische ID"
Schritt 6: Verlinken der Bestellhistorie im Kundenkonto
Fügen Sie folgenden Link auf der Kundenkontoübersichtsseite (ws_user_account.htm) ein.
<a href="~WS-OrderHistoryLink~">Zur Bestellhistorie</a>
Referenz: WS-OrderHistoryLink
Haben Sie alle Schritte durchgeführt, ist das Feature erfolgreich in Ihrem Shop integriert und aktiv.
Bei der bisherigen Integration wird dem Käufer eine Auswahlliste präsentiert, aus der er die gewünschte Bestellung auswählen und im Detail anzeigen lassen kann.
Schritt 1: Freischaltung/Aktivierung
Für die Bestellhistorie ist keine Freischaltung seitens WEBSALE nötig.
Schritt 2: Anpassung in der Shopkonfiguration shop.config
Mittels des Parameters OrderHistoryAllSubShops-Allow im Abschnitt Basic der Shopkonfiguration shop.config können Sie einstellen, ob sich die Abfrage der Bestellhistorie für ein Kundenkonto auf alle Subshops (z. B. Desktop und mobil) oder nur auf den Subshop beziehen soll, bei dem der Käufer gerade angemeldet ist.
<Basic>
...
OrderHistoryAllSubShops-Allow = yes
...
</Basic>
Referenz: OrderHistoryAllSubShops-Allow
Schritt 3: Template OrderHistory erstellen
Die Integration erfolgt auf dem Template OrderHistory. Ist dieses noch nicht vorhanden, so legen Sie es bitte an oder verwenden Sie eine Beispieldatei und passen diese an. Fügen Sie den Namen des HTM-Templates in die Shopkonfiguration shop.config innerhalb des Abschnitts <Templates> ein.
<Templates>
...
OrderHistory = ws_order_history.htm
...
</Templates>
Referenz: Templates
Schritt 4: Javascript ins Template einbinden
Fügen Sie folgendes Javascript in den Head-Bereich des Templates OrderHistory ein.
<head>
...
<script>
function SubmitSelection() {
document.forms['OrderHistory'].js_order_history.value = "on";
document.forms['OrderHistory'].submit();
};
</script>
...
</head>
Schritt 5: Einbinden der Selectbox zur Auswahl der Bestellung sowie Anzeige der Hinweismeldung
Damit kann der Kunde eine Bestellung zur Detailansicht aus der Selectbox auswählen und etwaige Fehler werden dem Kunden angezeigt.
<form action="~FORM-OrderHistory~" name="OrderHistory" method="Post">
{MSG-OrderHistory_Notify}
~MSG-OrderHistory_Notify~
{/MSG-OrderHistory_Notify}
{WS-OrderHistoryList}
Bitte wählen Sie Ihre Bestellung aus:
~WS-OrderHistoryList~ <input type="submit" value="OK" class="button">
{/WS-OrderHistoryList}
...
<!-- Fügen Sie hier die Tags zur Anzeige der ausgewählten Bestellung ein (siehe Schritt 6) -->
...
</form>
Referenz: FORM-OrderHistory
Referenz: MSG-OrderHistory_Notify
Referenz: WS-OrderHistoryList
Schritt 6: Anzeige der Bestellungen
Innerhalb dieser Sektion können Sie alle Bestelldaten frei positionieren.
...
{OH-S-OrderList} <!-- Auswahl der Sektion <OrderList> -->
{OH-S-Item} <!-- Auswahl der Sektion <Item> -->
{@OH-S-Item} <!-- Schleife über alle Einzelpositionen (Sektionen <Item> innerhalb der Sektion <OrderList>) -->
~OH-P-Name~ <!-- Name des Produktes, z. B. "Hose" -->
~OH-P-Number~ <!-- Ausgabe der Produktnummer -->
~OH-P-Price_text~: ~OH-P-Price~ <!-- Name des Parameters (z. B. "Preis") und der Wert (z. B. "5,99") -->
{@OH-S-Variation} <!-- Schleife über alle Varianten des gekauften Produktes -->
~OH-P-Name~ <!-- Name der Variation, z. B. "Farbe" -->
~OH-P-Option~ <!-- Wert der Variation, z. B. "rot" -->
~OH-P-Number~ <!-- Anzeige der Produktnummer ist hier NICHT möglich, da innerhalb der Sektion <Variation> kein Parameter "Number" existiert -->
{/@OH-S-Variation}
{/@OH-S-Item}
{/OH-S-Item}
{/OH-S-OrderList}
...
{OH-S-CustomerAddress} <!-- Auswahl der Sektion <CustomerAddress> -->
{OH-P-Company}~OH-P-Company~{/OH-P-Company} <!-- Ausgabe der Rechnungsadresse -->
~OH-P-Salutation~
~OH-P-FirstName~ ~OH-P-LastName~
~OH-P-Street1~
~OH-P-Zip~ ~OH-P-City~
~OH-P-Country~
{/OH-S-CustomerAddress}
...
{OH-S-CustomerComment} <!-- Auswahl der Sektion <CustomerComment> -->
~OH-S-RawData~ <!-- Ausgabe des Kommentartextes -->
{/OH-S-CustomerComment}
...
{OH-S-Order} <!-- Auswahl der Sektion <Order> -->
{OH-P-DeliveryCost}
~OH-P-DeliveryCost_text~: ~OH-P-DeliveryCost~ <!-- Ausgabe der Versandkosten -->
{/OH-P-DeliveryCost}
{OH-P-PaymentCost}
~OH-P-PaymentCost_text~: ~OH-P-PaymentCost~ <!-- Ausgabe der Zahlungskosten -->
{/OH-P-PaymentCost}
~OH-P-Total_text~: ~OH-P-Total~ <!-- Ausgabe der Gesamtsumme -->
{/OH-S-Order}
...
Referenz: OH-S-"technische ID"
Referenz: OH-P-"technische ID"
Schritt 7: Verlinken der Bestellhistorie im Kundenkonto
Fügen Sie folgenden Link auf der Kundenkontoübersichtsseite (ws_user_account.htm) ein.
<a href="~WS-OrderHistoryLink~">Zur Bestellhistorie</a>
Referenz: WS-OrderHistoryLink
Haben Sie alle Schritte durchgeführt, ist das Feature erfolgreich in Ihrem Shop integriert und aktiv.
Wenn Sie von WEBSALE V7 auf V8 wechseln, fügen Sie bitte auf dem Template OrderHistory folgende Klammerungen ein:
Anzeige der Bestellungen, die in Shop-Version 7 aufgegeben wurden
Dieser Bereich wird nur angezeigt, wenn der Käufer die Bestellung in Version 7 aufgegeben hat.
{ST-V7Order}
~WS-OrderHistoryData~
{/ST-V7Order}
Referenz: ST-V7Order
Referenz: WS-OrderHistoryData
Anzeige der Bestellungen, die in Shop-Version 8 aufgegeben wurden
Umklammern Sie den Code zur Anzeige der V8-Bestellungen mit dem Tag {ST-V8Order}. Dieser Bereich wird nur angezeigt, wenn der Käufer die Bestellung in Version 8 aufgegeben hat.
{ST-V8Order}
<!-- Code zur Anzeige der Bestellungen, siehe oben -->
{/ST-V8Order}
Referenz: ST-V8Order