
shop.config und sechs Ergänzungen im Design.
Schritt 1: Felder anlegen
Legen Sie im Abschnitt<DeliveryAddressFields-Txt> alle Felder an, die einer der beiden Adresstypen braucht. Die Auswahl des Typs bekommt ein eigenes Feld, hier Suffix1.
Schritt 2: Auswahlmöglichkeiten definieren
Das FeldSuffix1 bekommt seine Einträge in einem eigenen Abschnitt, direkt unterhalb von <DeliveryAddressFields-Txt>. Die Liste ist beliebig erweiterbar.
Schritt 3: Standardtyp festlegen
Welcher Typ beim Anlegen einer neuen Adresse vorausgewählt ist, steht im Abschnitt<DeliveryAddressFields-Standards>. Eingetragen wird der Value aus Schritt 2.
Schritt 4: Sichtbarkeit der Felder steuern
Für das Beispiel ergibt sich diese Aufteilung:
Für Felder, die in beiden Fällen erscheinen, ist nichts zu tun. Nur die beiden abweichenden Felder brauchen eine Regel im Abschnitt
<AddressFields-InputVisibility>.
Lassen Sie
ResetIfHidden auf yes. Sonst wandert der Wert eines ausgeblendeten Feldes mit in die Bestellung, beispielsweise ein Land, das der Käufer vor dem Wechsel zur Packstation eingetragen hatte.
Referenz: Abschnitt AddressFields-InputVisibility
Schritt 5: Pflichtfelder festlegen
Pflichtfelder stehen im Abschnitt<InputCheck>. Felder, die für beide Typen gelten, fassen Sie in einer Zeile zusammen.
Schritt 6: Beschriftungen umbenennen
WeilStreet1 je nach Typ etwas anderes bedeutet, soll sich auch die Beschriftung ändern. Die Grundbeschriftung steht in <DeliveryAddressFields-Txt>, die abweichende in <AddressFields-AlternativeText>.
Schritt 7: Auslösendes Feld benennen
Damit eine Änderung anSuffix1 das Nachladen überhaupt anstößt, wird das Feld im Abschnitt <AddressFields-Actions> als auslösend gekennzeichnet.
Schritt 8: Felder ins Template setzen
Die Felder gehören in das Formular auf beiden Templates, die eine Lieferadresse entgegennehmen:ws_address_combined.htm im Bestellablauf und ws_deliv_address_manage.htm im Kundenkonto.
Jedes Feld folgt demselben Aufbau. Die Klammerung {D-…[_visible](/v8s/referenz/tags/d-lieferadresse)} entscheidet über die Anzeige, {D-…[_action](/v8s/referenz/tags/d-lieferadresse)} fügt den AJAX-Aufruf nur dort ein, wo er gebraucht wird, und {D-…[_required](/v8s/referenz/tags/d-lieferadresse)} markiert Pflichtfelder.
Die Typauswahl als Auswahlknöpfe
Ein Auswahlfeld
Ein Textfeld
FirstName, LastName, Zip, City und Suffix2 wie das Textfeld, Country wie das Auswahlfeld.
Bei Auswahlfeldern löst onchange aus, bei Textfeldern onblur. Ein onchange am Textfeld würde erst beim Verlassen greifen und ein onkeyup bei jedem Tastendruck eine AJAX-Anfrage auslösen.
Die Tag-Endungen im Überblick
Schritt 9: Nachzuladenden Bereich festlegen
Das Nachladen tauscht einen Bereich der Seite aus. Klammern Sie ihn mit<WS-Ajax-…>, wobei die Kennung der ID Ihres Containers entspricht.
{ST-AJAX} sorgt dafür, dass die Bereichsmarkierung nur beim AJAX-Aufruf im Quelltext landet und nicht beim gewöhnlichen Seitenaufbau.
Referenz: ST-AJAX · WS-Ajax-<ID> · Wegweiser: AJAX-Funktionen
Schritt 10: Formular-ID vergeben
Das JavaScript spricht das Formular über seine ID an. Diese ID ist der erste Parameter im Aufruf aus Schritt 8.~FORM-Addr~.
Schritt 11: JavaScript-Bibliothek einbinden
Schritt 12: Rückruffunktionen füllen
Die vier Funktionen gehören in Ihre Designkomponente. Darin blenden Sie beispielsweise eine Ladeanzeige ein oder weisen auf eine unterbrochene Verbindung hin.Schritt 13: Postleitzahl-Assistent nachrüsten
Setzen Sie den Postleitzahl-Assistenten ein, müssen Sie dafür sorgen, dass sein JavaScript nach jedem Nachladen erneut ausgeführt wird. Andernfalls funktioniert er nach dem ersten Typwechsel nicht mehr. Verlagern Sie die Einrichtung dazu aus$(document).ready() in eine eigene Funktion:
Verwandte Themen
- Wegweiser: Abweichende Lieferadresse abfragen, für den Grundaufbau der Felder
- Wegweiser: Auswahllisten der Adressdaten
- Wegweiser: Prüfungen von Adressdaten festlegen
- Wegweiser: AJAX-Funktionen
