Voraussetzungen
Materialien: WEBSALE JavaScript-Bibliothek
Wie der Ablauf aussieht
Ein Klick auf ein beliebiges Element, beispielsweise einen Reiter oder einen Link, ruft eine JavaScript-Funktion auf. Diese unterbindet den normalen Seitenaufruf und startet stattdessen die AJAX-Anfrage. WEBSALE V8s beantwortet diese Anfrage mit demselben Template, das auch beim konventionellen Aufruf zum Einsatz kommt. Der Unterschied liegt in der Verpackung: Das Template ist in benannte Bereiche aufgeteilt, und die Systembibliothek setzt den Inhalt jedes Bereiches in dendiv-Container mit demselben Namen.
WS-Ajax- wählen Sie frei, sie muss nur mit der ID des Zielcontainers übereinstimmen. Weil Sie beliebig viele Bereiche anlegen können, lassen sich mit einer Anfrage mehrere Stellen der Seite gleichzeitig austauschen.
Weil dasselbe Template auch konventionell aufgerufen wird, dürfen die Bereichsmarkierungen dort nicht im Quelltext landen. Dafür gibt es ST-AJAX. Die Klammerung zeigt ihren Inhalt nur, wenn der Aufruf tatsächlich eine AJAX-Anfrage war.
Die aufrufende Seite vorbereiten
Die ersten vier Schritte gelten für das Template, von dem aus der Käufer die Empfehlung startet, in aller Regel die Produktdetailansicht.Schritt 1: Die Bibliotheken einbinden
Schritt 2: Die Container anlegen
Drei Container nehmen die drei möglichen Zustände auf: Es lädt, es ist etwas schiefgegangen, oder es ist da.ws_prodrecmd_content. Genau diese ID brauchen Sie in Schritt 5 und in Schritt 8 wieder, denn sie verbindet die Container mit den Bereichen in den Templates.
Schritt 3: Den Auslöser setzen
Auf das Element, das die Empfehlung öffnen soll, kommt einonclick-Ereignis. WS-ProductRecmdLink liefert die Zieladresse, WS-JSEncoding bereitet sie für die Verwendung in JavaScript auf.
$WS-ProductRecmdLink$ innerhalb der Klammern ist die Art, ein Tag als Parameter an ein anderes Tag zu übergeben. Ohne diese Verschachtelung stünde im JavaScript ein unmaskierter Link, der bei einem Sonderzeichen den Aufruf zerlegt.
Im href steht derselbe Link ohne Verschachtelung. Er greift, wenn JavaScript nicht zur Verfügung steht.
Schritt 4: Die Funktionen der Designkomponente füllen
Acht Funktionen bilden die beiden Vorgänge ab, das Nachladen des Formulars und das Absenden. Jeder Vorgang hat vier Zustände: Start, Erfolg, fachlicher Fehler und Kommunikationsfehler.
Alle acht tun dasselbe: Sie blenden von den drei Containern den passenden ein und die beiden anderen aus.
ResponseError und Error unterscheiden sich in der Ursache: Beim ersten hat der Shop geantwortet, aber nicht wie erwartet. Beim zweiten kam die Anfrage gar nicht durch. Sie dürfen dasselbe tun, aber sobald Sie zwei verschiedene Meldungstexte ausgeben wollen, brauchen Sie beide getrennt.
Die Beispiele verwenden jQuery. Setzen Sie eine andere Bibliothek oder gar keine ein, ersetzen Sie die Zeilen entsprechend. An den Funktionsnamen ändert sich nichts, denn die ruft die Systembibliothek auf.
Referenz: WEBSALE JavaScript-Systembibliothek
Das Formular-Template erweitern
Die folgenden drei Schritte betreffen das Template, das im Abschnitt<Templates> hinter ProductRecmd steht.
Schritt 5: Den AJAX-Bereich anlegen
Legen Sie um das Eingabeformular einen Bereich, dessen Name die Container-ID aus Schritt 2 trägt.Schritt 6: Dem Formular eine ID geben
Die AJAX-Funktion braucht das Formular, um seine Felder auszulesen. Sie findet es über die ID.Schritt 7: Die Schaltfläche umstellen
Beim AJAX-Aufruf bekommt die Schaltfläche einonclick-Ereignis, beim konventionellen Aufruf nicht. Beide Fälle stehen nebeneinander im Template, jeweils geklammert.
Das Bestätigungs-Template erweitern
Schritt 8: Denselben AJAX-Bereich anlegen
Im Template hinterProductRecmdConfirm legen Sie einen Bereich mit derselben ID an.
Tracking-Schnittstelle
Verwenden Sie die Tracking-Schnittstelle, beachten Sie deren Hinweise zu AJAX-basierten Funktionen. Ein per AJAX nachgeladener Inhalt löst keinen Seitenaufruf aus und wird deshalb nicht von selbst gezählt. Wegweiser: Beschreibung der Tracking-SchnittstelleVerwandte Themen
- Wegweiser: Produktempfehlungsfunktion konventionell
- Wegweiser: Templates und Tags für Produktempfehlung
- Wegweiser: AJAX-Funktionen
- Wegweiser: Beschreibung der Tracking-Schnittstelle
