Voraussetzungen
In Ihrem Templateverzeichnis, beispielsweisebenutzer/templates/translation, existiert bereits eine Informationsseite unter dem Dateinamen tpl_agb.htm.
Der Aufbau besteht aus sechs Schritten. Die Schritte 1 bis 4 betreffen die Produktdetailansicht ws_product.htm und die Design-Komponente, die Schritte 5 und 6 die AGB-Seite selbst.
Schritt 1: Systembibliothek und Design-Komponente einbinden
Binden Sie die WEBSALE JavaScript-Systembibliothek samt Design-Komponente in die Produktdetailansichtws_product.htm ein. Haben Sie das bereits getan, prüfen Sie die Version. Sie muss mindestens 1.8.1 sein, weil die AJAX-Funktionen erst ab dieser Version enthalten sind.
Schritt 2: AJAX-Link auf der Produktdetailansicht anlegen
Platzieren Sie aufws_product.htm den Link, der das Nachladen auslöst. Das onclick-Ereignis ruft ws_AJAXloadTemplate auf, das return davor verhindert, dass der Browser zusätzlich dem Link folgt.
Die vier hier genannten Funktionsnamen legen Sie in Schritt 4 an. Die Namen sind frei wählbar, sie müssen nur an beiden Stellen übereinstimmen.
~WS-Charset~. So bleibt der Aufruf auch dann korrekt, wenn ein Subshop mit einem anderen Zeichensatz arbeitet.
Referenz: WS-LoadTpl()
Schritt 3: Anzeigebereiche auf der Produktdetailansicht festlegen
Sie brauchen drei Bereiche: einen für die Ladeanzeige, einen für die Fehlermeldung und einen für die AGB selbst. Lade- und Fehlerbereich starten versteckt, weil sie erst durch die JavaScript-Funktionen eingeblendet werden.ws_agbs_content. Nur dieser Bereich wird von der Systembibliothek automatisch befüllt, und zwar aus der gleichnamigen WS-Ajax-Sektion der AGB-Seite aus Schritt 5. Lade- und Fehlerbereich sind reine Anzeigeelemente Ihres Templates und haben auf der AGB-Seite keine Entsprechung.
Schritt 4: JavaScript-Funktionen in der Design-Komponente anlegen
Legen Sie die vier in Schritt 2 genannten Funktionen in der Design-Komponente der WEBSALE JavaScript-Systembibliothek an. Jede von ihnen schaltet lediglich zwischen den drei Bereichen um.ws_AJAXloadAGBsError greift, wenn der Shop gar nicht geantwortet hat. ws_AJAXloadAGBsResponseError greift, wenn er geantwortet und dabei einen Fehler gemeldet hat. Wenn Sie den Kunden unterschiedlich informieren möchten, setzen Sie hier zwei verschiedene Meldungen ein.
Schritt 5: WS-Ajax-Sektion auf der AGB-Seite anlegen
Umschließen Sie auftpl_agb.htm den Inhalt, der in der Produktdetailansicht erscheinen soll, mit einer WS-Ajax-Sektion. Der Name der Sektion setzt sich aus dem Präfix WS-Ajax- und der ID des Anzeigebereichs aus Schritt 3 zusammen.
Die Sektionsmarken selbst klammern Sie mit {[ST-Ajax](/v8s/referenz/tags/st/seitenzustand-und-navigation#die-tags-im-uberblick)}. Ohne diese Klammerung stünden sie bei einem normalen Aufruf der AGB-Seite sichtbar im Quelltext.
Schritt 6: Link zur AGB-Seite ohne AJAX
Durch die Klammerung aus Schritt 5 bleibt die AGB-Seite auch ohne AJAX vollständig nutzbar. Das ist keine Kür, sondern nötig: Ist im Browser des Kunden JavaScript deaktiviert, ist dieser Weg der einzige. Integrieren Sie dafür einen gewöhnlichen Link, beispielsweise im Footer.WS-LoadTpl() finden Sie in der Referenz.
Referenz: WS-LoadTpl()