A- greifen auf die Rechnungsadresse des Käufers zu. Sie erzeugen die Eingabefelder auf den Adressseiten, geben die eingegebenen Werte an anderer Stelle wieder aus und liefern kundenbezogene Werte wie Rabatte oder Berechtigungscodes.
Wie die Tags gebildet werden
Jedes Adressdatenfeld der Rechnungsadresse muss in der Shopkonfigurationshop.config im Abschnitt <AddressFields-Txt> definiert sein. Das gilt für die Standardfelder wie Vorname und Nachname ebenso wie für die freien Adressdatenfelder (Suffix-Felder).
Der Tag-Name setzt sich dann immer aus zwei Teilen zusammen: dem Präfix A- und dem Parameternamen aus <AddressFields-Txt>.
FirstName wird so A-FirstName, und mit den auf dieser Seite beschriebenen Suffixen beispielsweise A-FirstName_text oder A-FirstName_required.
Auf dieser Seite steht Feldname stellvertretend für den Parameternamen aus <AddressFields-Txt>. In Ihren Templates setzen Sie dort den tatsächlichen Namen ein, also A-FirstName_input statt A-Feldname_input.
Wegweiser: Rechnungsadresse abfragen · Referenz: Abschnitt AddressFields-Txt
Ein vollständiges Eingabefeld
Die Suffix-Tags sind einzeln beschrieben, in der Praxis treten sie aber immer gemeinsam auf. Das folgende Beispiel zeigt ein komplettes Eingabefeld für den Vornamen, wie es auf der Rechnungs- und Lieferadressseite im Bestellablauf (ws_address_combined.htm) steht.
A-FirstName_visible entscheidet, ob das Feld überhaupt erscheint, A-FirstName_text liefert die Beschriftung, A-FirstName_input den technischen Feldnamen, A-FirstName_max die zulässige Länge, A-FirstName den bereits eingegebenen Wert, A-FirstName_required das Pflichtfeld-Sternchen und A-FirstName_error sowie A-FirstName_errormessage die Fehlerbehandlung.
Auf der Bestellübersichtsseite (ws_place_order.htm) genügt dann das Wert-Tag allein:
Tags am Eingabefeld
Zulässig sind diese Tags auf der Rechnungs- und Lieferadressseite im Bestellablauf (
ws_address_combined.htm) und auf der Verwaltungsseite der Rechnungsadresse im Kundenkonto (ws_address_manage.htm). A-Feldname_hiddeninputflagdeleted und A-Feldname_readonly sind darüber hinaus in allen Templates zulässig.
A-Feldname
Gibt den Wert des Adressdatenfeldes aus, also das, was der Käufer eingegeben hat oder was aus seinem Kundenkonto geladen wurde.A-Feldname_action
Löst eine Aktion aus, wenn für das Feld im Abschnitt<AddressFields-Actions> der shop.config eine Abhängigkeit hinterlegt ist. Mit der eingabeabhängigen Adressdatensteuerung lassen sich Felder je nach Eingabe ein- und ausblenden oder umbenennen. Damit das wirkt, muss die Adressseite nach der Eingabe nachgeladen werden, und genau diesen Aufruf klammert das Tag ein.
Im folgenden Beispiel wird die Rechnungs- und Lieferadresseingabeseite nachgeladen, sobald der Käufer das Feld Company (Firma) verlässt.
onBlur herum ist der Kern der Sache. Ohne sie würde jedes Feld bei jedem Verlassen ein Nachladen auslösen, auch dort, wo gar keine Abhängigkeit definiert ist.
Wegweiser: Auswahl zwischen Privat- und Geschäftsadresse
A-Feldname_error
Zeigt an, dass bei der Prüfung dieses Feldes ein Fehler aufgetreten ist. Geprüft wird nach dem Klick auf den Absende-Button. Als Einzel-Tag gibt es im Fehlerfall die Zeichenfolge_error aus und sonst nichts. Dadurch lässt es sich direkt an einen Klassennamen anhängen und das fehlerhafte Feld farblich hervorheben.
class="input_error", sonst class="input".
A-Feldname_errormessage
Gibt die Fehlermeldung zu einem Adresseingabefeld aus. Die Meldung wird in dershop.config im Unterabschnitt <ErrorMessages> des Abschnitts <InputCheck> je Eingabefeld und Prüfungsart festgelegt.
A-Feldname_hiddeninputflagdeleted
Liefert den Namen für ein verstecktes Eingabefeld, mit dem ein geleertes Adressdatenfeld ausdrücklich als gelöscht gekennzeichnet wird. Der Hintergrund: Löscht der Käufer den Inhalt eines Feldes, übernimmt der Shop diese Löschung. An externe Systeme übergebene Leerfelder werden dort aber üblicherweise als “nicht geändert” gewertet, und der alte Wert bleibt stehen. Das versteckte Feld macht aus dem Leerwert eine ausdrückliche Löschanweisung, die in den Bestelldaten der nächsten Bestellung mitgeschickt und vom externen System ausgewertet wird.A-Feldname_input
Gibt den technischen Namen des Eingabefeldes aus. Er gehört inname und, wenn Sie mit label arbeiten, auch in id.
A-Feldname_max
Gibt die maximale Eingabelänge des Feldes aus, wie sie im Abschnitt<AddressMaxInputLen> der shop.config festgelegt ist.
<AddressMaxInputLen> nicht aufgeführt, gilt eine voreingestellte Länge. Das Tag liefert also immer einen Wert, auch ohne eigenen Eintrag in der Konfiguration.
A-Feldname_readonly
Der Bereich wird angezeigt, wenn das Adressdatenfeld als “readonly” gekennzeichnet ist, der Käufer es also nicht verändern darf. Festgelegt wird das im Abschnitt<AddressFields-ReadOnly> der shop.config.
A-Feldname_required
Der Bereich wird angezeigt, wenn das Adresseingabefeld ein Pflichtfeld ist. Damit kennzeichnen Sie Pflichtfelder, üblicherweise mit einem Sternchen.<InputCheck> und wird für jedes Feld einzeln ausgewertet. Ein ausgeblendetes Feld gilt nie als Pflichtfeld. Die E-Mail-Adresse der Rechnungsadresse ist dagegen immer ein Pflichtfeld, unabhängig von der Konfiguration.
A-Feldname_text
Gibt die Bezeichnung des Eingabefeldes aus, also den Wert, der im Abschnitt<AddressFields-Txt> hinter dem Gleichheitszeichen steht.
A-Feldname_visible
Der Bereich wird angezeigt, wenn das Feld nach den Abhängigkeiten aus dem Abschnitt<AddressFields-Actions> der shop.config sichtbar sein soll. Beschriftung und Eingabefeld gehören gemeinsam in diese Klammerung.
Tags für Auswahllisten
Einige Adressdaten werden nicht frei eingegeben, sondern aus einer Liste gewählt, etwa das Land oder die Anrede. Die Einträge stammen aus eigenen Konfigurationsdateien wie der Länder-Konfigurationcountry.dat oder aus der shop.config.
Alle vier aktuellen Tags greifen ineinander und ergeben zusammen eine Auswahlliste:
A-Country_data läuft über alle Einträge, A-Country_code liefert je Durchlauf den technischen Wert, A-Country_value die Bezeichnung für den Käufer und A-Country_selected markiert den bereits gewählten Eintrag.
Zulässig sind diese Tags auf der Rechnungs- und Lieferadressseite im Bestellablauf (ws_address_combined.htm) und auf der Verwaltungsseite der Rechnungsadresse im Kundenkonto (ws_address_manage.htm).
A-Feldname_code
Gibt den technischen Wert eines Listeneintrags aus, bei der Länderauswahl beispielsweise den dreistelligen ISO-Code. Dieser Wert gehört in dasvalue der Option, denn er wird abgeschickt und weiterverarbeitet.
A-Feldname_data
Schleifen-Tag über alle Einträge einer Auswahlliste. Innerhalb der Schleife stehenA-Feldname_code, A-Feldname_value und A-Feldname_selected für den jeweils aktuellen Eintrag zur Verfügung.
A-Feldname_selected
Setzt für den bereits gewählten Eintrag das Attributselected. Ohne dieses Tag springt die Auswahlliste nach einem Nachladen der Seite oder beim Aufruf aus dem Kundenkonto wieder auf den ersten Eintrag zurück.
A-Feldname_value
Gibt die Bezeichnung eines Listeneintrags aus, also den Text, den der Käufer in der Auswahlliste liest.A-Feldname_list
Erzeugt eine vollständige Auswahlliste als fertiges HTML-Element. Wegweiser: Adressdaten als Auswahllisten abfragenWeitere Tags
Diese Tags haben einen festen Namen, sie werden also nicht aus einem Parameternamen gebildet. Sie liefern zusammengesetzte oder kundenbezogene Werte.
Keines dieser Tags ist als Schleifen-Tag verwendbar. “Adressseiten” steht für die Rechnungs- und Lieferadressseite im Bestellablauf (
ws_address_combined.htm) und die Verwaltungsseite der Rechnungsadresse im Kundenkonto (ws_address_manage.htm).
A-CompleteSalutation
Gibt die vollständige Anrede aus, beispielsweise “Sehr geehrter Herr Meier,”. Die Texte dafür werden in der Anrede-Konfigurationsalutation.dat je Land und Geschlecht hinterlegt.
A-CountryISO
Gibt den dreistelligen ISO-Ländercode des gewählten Rechnungslandes aus.A-DateOfBirth_list
Erzeugt drei Auswahllisten für Tag, Monat und Jahr, mit denen das Geburtsdatum bei der Rechnungsadresse abgefragt wird.- Die Tagesliste enthält die Werte 01 bis 31, die Monatsliste 01 bis 12.
- Die Jahresliste reicht 121 Jahre zurück, vom aktuellen Jahr bis zum aktuellen Jahr minus 121.
- Jede der drei Listen beginnt mit einem leeren Eintrag.
- Gespeichert wird das Geburtsdatum nur, wenn Tag, Monat und Jahr ausgewählt sind. Fehlt eines davon, bleibt das Feld leer.
Styles
Damit sich die drei Auswahllisten gestalten lassen, weist der Shop ihnen IDs und eine gemeinsame Klasse zu. Diese können Sie in Ihre Styles-Datei übernehmen.
Die ID der Jahresliste trägt keinen Zusatz, sie entspricht dem Feldnamen selbst. Das ist kein Fehler in der Dokumentation, sondern die Namensbildung des Shops. Das Gegenstück der Lieferadresse heißt
#ws_input_delivery_date_of_birth und folgt demselben Muster.
A-ERPLastOrderDate
Gibt das Datum der letzten Bestellung im Format YYYY-MM-DD aus. Der Wert stammt aus der angeschlossenen Warenwirtschaft.A-InterCompanyCustomer
Der Bereich wird angezeigt, wenn der Käufer als “intern verrechnen” gekennzeichnet ist, also zu einer Verrechnung zwischen Kunden oder Firmen innerhalb eines Firmenverbunds gehört. Ist dieses Kennzeichen gesetzt, wird die Mehrwertsteuer immer komplett abgezogen.A-SalutationCode
Gibt den technischen Code der Anrede aus. Die Codes werden in der Anrede-Konfigurationsalutation.dat je Land und Geschlecht hinterlegt, in Abstimmung mit den angeschlossenen ERP-Systemen.
A-TitleCode
Gibt den technischen Wert des Titels aus.A-UserDeliveryCostDiscount
Der Bereich wird angezeigt, wenn beim Käufer ein Lieferkostenrabatt hinterlegt ist. Das Einzel-Tag gibt den Rabatt in Prozent aus.ST-LoggedIn gehört dazu. Ein kundenindividueller Rabatt ist erst nach der Anmeldung bekannt, und die Aussage “Für Sie wurde kein Rabatt hinterlegt” wäre gegenüber einem nicht angemeldeten Besucher schlicht falsch.
Wegweiser: Versandarten anlegen, kundenindividueller Rabatt und Erlass für Versandkosten
A-UserDeliveryCostFree
Der Bereich wird angezeigt, wenn beim Käufer ein Lieferkostenerlass hinterlegt ist. Er bestellt dann versandkostenfrei.A-UserIndex
Gibt den Userindex des angemeldeten Käufers aus, also seine interne Kennung in der Shop-Datenbank.A-UserMustChangePW
Der Bereich wird angezeigt, wenn der Käufer sein Passwort ändern muss, etwa nach der Zwangsänderung für Neukunden.ws_login.htm).
Wegweiser: Zwangsänderung des Passworts bei Neukunden
A-UserPaymentCostDiscount
Der Bereich wird angezeigt, wenn beim Käufer ein Zahlungskostenrabatt hinterlegt ist. Das Einzel-Tag gibt den Rabatt in Prozent aus.A-UserPaymentCostFree
Der Bereich wird angezeigt, wenn beim Käufer ein Zahlungskostenerlass hinterlegt ist.A-UserSubTotalDiscount()
Der Bereich wird angezeigt, wenn dem Käufer ein Rabatt auf den Warenwert zugewiesen wurde. Das Einzel-Tag gibt den Rabatt in Prozent aus.Nachkommastellen
Als Einzel-Tag nimmtA-UserSubTotalDiscount() einen Parameter für die Anzahl der Nachkommastellen entgegen. Zulässig sind 2 und 0. Ohne Parameter wird der Rabatt immer ohne Nachkommastellen ausgegeben.
Bei einem hinterlegten Rabatt von 10 Prozent:
Die Ersparnis in Euro anzeigen
Ein Prozentwert allein sagt dem Käufer wenig. Interessant wird es, wenn er am Produkt sieht, welchen Betrag er spart. Dafür wird der Rabattsatz auf den Produktpreis gerechnet.DC-CompareDigitGT fängt den Fall ab, dass zwar ein Rabattsatz hinterlegt, dieser aber 0 ist. Ohne sie stünde am Produkt “Ihr Kundenrabatt: 0 %” und “Sie sparen: 0,00”.
Wegweiser: Rabatte festlegen · Materialien: Kaufmännische Berechnungen · Referenz: DC-CompareDigitGT() · Referenz: DC-CommercialCalc1…3_set() · Referenz: DC-CommercialCalc1…3_percent() · Referenz: WS-CurrencySymbol
A-WarrantyList
Gibt die Berechtigungscodes aus, die für den angemeldeten Kunden im Kundenkonto hinterlegt sind, als kommaseparierte Zeichenfolge.ST-Warranty(). Damit prüfen Sie gezielt einen einzelnen Berechtigungscode, statt die Codeliste als Text auszuwerten.
Referenz: ST-Warranty()
Verwandte Themen
- Wegweiser: Rechnungsadresse abfragen
- Wegweiser: Adressdaten als Auswahllisten abfragen
- Wegweiser: Auswahl zwischen Privat- und Geschäftsadresse
- Referenz: D- (Lieferadresse)
