Funktionsweise
Der Ablauf ist bei beiden Darstellungsarten derselbe. Ein Klick auf die Auswahlliste oder den Link einer abhängigen Variante ruft eine JavaScript-Funktion auf. Diese startet die AJAX-Kommunikation und unterbindet den Neuaufbau der Seite. Vorher läuft eine Funktion der Design-Komponente, in der Sie beispielsweise einen Layer mit einer Wartegrafik einblenden. Kommt keine Antwort zustande, etwa bei abgebrochener Internetverbindung, läuft eine andere Funktion der Design-Komponente. Dort blenden Sie die Ladegrafik wieder aus und stattdessen einen Hinweis ein. Bei Erfolg nimmt WEBSALE V8s die Anfrage an und liefert die neuen Inhalte. Damit die Systembibliothek weiß, welche Teile der Seite sie ersetzen soll, definieren Sie im Produkttemplate Austauschbereiche.WS-Ajax- und steht direkt in einem div mit derselben ID. Die ID wählen Sie frei. Bei einem AJAX-Aufruf schreibt die Systembibliothek den Inhalt jedes Bereichs in den div mit der passenden ID. Sie können damit mehrere Stellen der Seite auf einmal austauschen.
Die Klammerung ST-Ajax um die Bereichsmarken sorgt dafür, dass diese nur bei einem AJAX-Aufruf ausgegeben werden. Beim normalen Aufruf des Produkts blieben sie sonst sichtbar im Quelltext stehen.
Setzen Sie die Tracking-Schnittstelle zusammen mit dieser Funktion ein, beachten Sie die dortigen Hinweise zu AJAX-basierten Funktionen. Da kein vollständiger Seitenaufbau stattfindet, greifen Tracking-Aufrufe sonst nicht.Wegweiser: Beschreibung der Tracking-Schnittstelle
Integration
Das Produkttemplate erweitern Sie in sechs Schritten. Nur der zweite Schritt unterscheidet sich danach, ob Sie die Varianten als Auswahllisten oder als Links darstellen.Schritt 1: Systembibliothek einbinden
Binden Sie im<head> des Templates die Systembibliothek samt Design-Komponente ein.
Schritt 2: Auslöser einbauen
Hier trennen sich die beiden Darstellungsarten. Bei Auswahllisten legen Sie im<head> die Funktion SubmitSelection() an, die von der Auswahlliste über onchange aufgerufen wird. Sie übergibt die ID des Produktformulars und den Zeichensatz.
onClick, das ws_AJAXPRLink() mit dem Ziel des Links und dem Zeichensatz aufruft.
href bleibt in beiden Fällen erhalten, damit der Link ohne JavaScript weiterhin funktioniert.
Schritt 3: Container für Meldungen anlegen
Diese drei Container werden per JavaScript ein- und ausgeblendet und informieren den Käufer über den Zustand seiner Aktion. Legen Sie sie mitposition: fixed über die Seite, damit sie unabhängig von der Scrollposition sichtbar sind.
Schritt 4: Produktformular mit eindeutiger ID versehen
Die Funktion aus Schritt 2 spricht das Formular über seine ID an. Ohne sie findet sie die gewählten Werte nicht.Schritt 5: Austauschbereiche festlegen
Tauschen Sie den gesamten Bereich aus, in dem das Produkt dargestellt wird, also den zentralen Bereich der Seite.Schritt 6: Funktionen in der Design-Komponente füllen
Die Systembibliothek ruft vier Funktionen auf, die in der Design-Komponente liegen. Dort hinterlegen Sie Ihre Ein- und Ausblendungen oder weitere Effekte. Die Voreinstellung sieht so aus:ws_AJAXPRResponseError greift, wenn der Shop geantwortet und dabei einen Fehler gemeldet hat, etwa weil die gewählte Kombination nicht mehr verfügbar ist. ws_AJAXPRError greift, wenn gar keine Antwort zustande kam.
Tags
Verwandte Themen
- Wegweiser: Abhängige Varianten als Auswahllisten darstellen
- Wegweiser: Abhängige Varianten als Links darstellen
- Wegweiser: AJAX-Funktionen
- Materialien: WEBSALE JavaScript-Bibliothek
