Wie die Funktion arbeitet
Der Klick auf die Schaltfläche ruft ein JavaScript auf. Dieses startet die AJAX-Kommunikation und unterbindet, dass der Browser die Warenkorbseite lädt. Stattdessen ruft es eine Funktion Ihrer Designkomponente auf, in der Sie beispielsweise eine Ladeanzeige einblenden. Danach entscheidet das Ergebnis über das weitere Vorgehen:
Ein Produkt wird beispielsweise dann abgelehnt, wenn es nicht mehr verfügbar oder der Lagerbestand aufgebraucht ist.
Der Aufbau der beiden Templates
Beide Templates sind in beliebig viele Bereiche eingeteilt. Deren Namen beginnen mitWS-Ajax- und enden mit einer frei gewählten, eindeutigen Kennzeichnung:
div-Container mit der gleichnamigen ID auf Ihrer Seite. So tauschen Sie mit einem einzigen Aufruf mehrere Stellen gleichzeitig aus, beispielsweise die Erfolgsmeldung und den Kurzwarenkorb im Seitenkopf.
Innerhalb der AJAX-Templates klammern Sie mit {[ST-AJAX](/v8s/referenz/tags/st/seitenzustand-und-navigation#die-tags-im-uberblick)} Bereiche, die ausschließlich bei einem AJAX-Aufruf erscheinen sollen. Im Code heißt das Tag durchgängig ST-AJAX in Großschreibung.
Schritt 1: Templates anlegen und zuweisen
Legen Sie zwei neue Templates an, eines für den Erfolgs- und eines für den Fehlerfall, und passen Sie beide Ihrem Design an.Schritt 2: Fehlermeldung hinterlegen
Diese Meldung erscheint, wenn der Käufer die Schaltfläche betätigt, ohne eine Auswahl oder eine Menge angegeben zu haben.Schritt 3: Bibliotheken einbinden
Beide Dateien gehören in den Kopfbereich des Templates, von dem aus der Käufer Produkte in den Warenkorb legt.Schritt 4: Container für die Meldungen anlegen
Vier Container decken die möglichen Zustände ab. Legen Sie sie über die Seite, damit sie unabhängig von der Scrollposition sichtbar sind.ws-overlay übernimmt Positionierung und Aussehen.
Unterscheiden Sie die beiden Fehlerfälle auch in der Formulierung. „Das Produkt ist nicht mehr verfügbar” und „Die Verbindung ist unterbrochen” verlangen vom Käufer Unterschiedliches: einmal eine andere Wahl, einmal einen zweiten Versuch.
Schritt 5: Formular mit einer ID versehen
Jedes Produktformular auf der Seite braucht eine eindeutige ID, denn das JavaScript spricht es darüber an.Schritt 6: Schaltfläche mit onclick versehen
Der erste Parameter ist die ID aus Schritt 5. Dasreturn davor verhindert, dass das Formular zusätzlich abgeschickt und die Seite neu geladen wird.
Schritt 7: Rückruffunktionen füllen
Die vier Funktionen gehören in Ihre Designkomponente. Sie entscheiden darin, was der Käufer zu sehen bekommt.Ohne AJAX auf der Seite bleiben
Es gibt einen zweiten, schlichteren Weg zum selben Ziel. Statt die Warenkorbseite anzuzeigen, kehrt der Shop nach dem Ablegen zur Produktdetailansicht oder zur Kategorieansicht zurück. Die Seite wird dabei neu geladen, es läuft aber kein JavaScript mit.{[ST-Basket_Success](/v8s/referenz/tags/st/seitenzustand-und-navigation)}:
Ajax im Namen, obwohl diese Variante ohne AJAX auskommt. Lassen Sie sich davon nicht in die Irre führen.
