Dieser Abschnitt der Konfiguration "shop.config" realisiert das Anzeigen von Eingabefeldern, wenn eine festgelegte Bedingung hierfür erfüllt ist, z. B. dass das Adressdatenfeld "Umsatzsteuer" erst angezeigt wird, wenn das Adressdatenfeld "Firma" gefüllt ist.
Wegweiser: Auswahl zwischen postalischer Lieferadresse und Packstation
Wegweiser: Auswahl zwischen Privat- und Geschäftsadresse
Der Abschnitt <AddressFields-InputVisibility> wird nur einmal in der shop.config benötigt und muss immer die Unterabschnitte <+FieldVisibility> enthalten. In diesen Unterabschnitten werden die Eingabefelder festgelegt, die angezeigt bzw. ausgeblendet werden sollen. Zusätzlich kann festgelegt werden, ob dies für die Felder der Rechnungsadresse, für die der Lieferadresse oder für beide gelten soll.
Jeder der Unterabschnitte <+FieldVisibility> benötigt einen oder mehrere <+Condition>-Abschnitte. Diese Abschnitte erzeugen immer UND-Verknüpfungen und legen fest, in welcher Abhängigkeit das Feld angezeigt oder ausgeblendet werden soll.
<AddressFields-InputVisibility>
<+FieldVisibility>
AddressField =
AddressType =
Visible =
ResetIfHidden =
<+Condition>
Field =
Type =
Value =
BasketBehavior =
</+Condition>
</+FieldVisibility>
</AddressFields-InputVisibility>
Parameter |
Zweck |
Werte |
AddressField |
Kommaseparierte Liste der technischen Feldnamen der Eingabefelder, die angezeigt werden sollen |
technische Feldnamen, z. B. TaxID |
AddressType |
Angabe, ob dies für die Rechnungs-, die Lieferadresse oder beide Adressen gelten soll |
both bill delivery Standard: both |
Visible |
Legt fest, ob das Feld angezeigt werden soll oder nicht. Sichtbar wird das Feld dann, wenn die angegebene Bedingung unter <+Conditions> erfüllt ist |
yes no Standard: no |
ResetIfHidden |
Legt fest, ob die Eingaben des Feldes gelöscht werden sollen, wenn das Feld nicht angezeigt wird. Standard: Eingabe wird gelöscht, wenn Feld nicht sichtbar ist |
yes no Standard: yes |
Field |
Kommaseparierte Liste der technischen Feldnamen, bei denen eine Anzeige des Feldes/der Felder erfolgen soll, das/die unter AddressField eingetragen ist/sind |
technische Feldnamen, z. B. Company (Feld "Firmenbezeichnung" in den Adressdaten des Kunden) |
Type |
Art der Prüfung filled: Feld ist gefüllt empty: Feld ist leer value: Der Wert des Feldes entspricht dem in Value angegebenen Wert notvalue: Der Wert des Feldes entspricht nicht dem in Value angegebenen Wert inlist: Der Wert des Feldes ist Teil der in Value angegebenen Liste notinlist: Der Wert des Feldes ist nicht Teil der in Value angegebenen Liste prefix: Die Vorsilbe des Wertes des Feldes entspricht der in Value angegebenen Vorsilbe notprefix: Die Vorsilbe des Wertes des Feldes entspricht nicht der in Value angegebenen Vorsilbe includedinlist: Der Wert aus Value muss in der Werte-Liste des Produktdatenfeldes stehen notincludedinlist: Der Wert aus Value darf nicht in der Werte-Liste des Produktdatenfeldes stehen matchsimplewildcard (Der in "Value" angegebene Wert enthält Platzhalter/Wildcards und der Wert des Feldes stimmt überein. Als Platzhalter kann ? und * eingesetzt werden. ? steht für exakt ein Zeichen an einer beliebigen Position * steht für beliebige Zeichen, darf aber nur am Ende eingesetzt werden notmatchsimplewildcard (Der Wert des Feldes stimmt nicht dem in "Value" angegebenen Wert inkl. Platzhalter überein |
filled empty value notvalue inlist notinlist prefix notprefix includedinlist notincludedinlist matchsimplewildcard notmatchsimplewildcard Standard: filled |
Value |
zu prüfender Wert/Liste, nur relevant bei Type = value, notvalue, inlist, notinlist, includedinlist, notincludedinlist |
Wert oder Liste (abhängig von Type) |
BasketBehavior |
Legt fest, ob nur ein Produkt im Warenkorb die Bedingungen erfüllen muss (match-once) oder alle (match-all). |
match-all match-once Standard: match-all |
Beispiele
Beispiel 1: Umsatzsteuer soll abgefragt werden, wenn Company gefüllt ist
Beispiel 1: Umsatzsteuer soll abgefragt werden, wenn Company gefüllt ist
Das technische Feld "TaxID" der Rechnungsadresse mit der Bezeichnung "Umsatzsteuer" soll eingeblendet werden, wenn das technische Feld "Company" gefüllt ist. Wird das Feld "TaxID" nicht angezeigt, sollen alle Eingaben aus diesem Feld gelöscht werden.
<AddressFields-InputVisibility>
<+FieldVisibility>
AddressField = TaxID
AddressType = bill
Visible = yes
ResetIfHidden = yes
<+Condition>
Field = Company
Type = filled
</+Condition>
</+FieldVisibility>
</AddressFields-InputVisibility>
Beispiel 2: Umsatzsteuer soll abgefragt werden, wenn Firma gefüllt ist und auch als Anrede "Firma" gewählt ist
Das technische Adressdatenfeld "TaxID" der Rechnungsadresse mit der Bezeichnung "Umsatzsteuer" soll eingeblendet werden, wenn das technische Adressdatenfeld "Company" gefüllt ist und im technischen Adressdatenfeld "Salutation" die Anrede "Firma" gewählt wurde. Wird das Feld "TaxID" nicht angezeigt, sollen alle Eingaben aus diesem Feld gelöscht werden.
<AddressFields-InputVisibility>
<+FieldVisibility>
AddressField = TaxID
AddressType = bill
Visible = yes
ResetIfHidden = yes
<+Condition>
Field = Company
Type = filled
</+Condition>
<+Condition>
Field = Salutation
Type = value
Value = Firma
</+Condition>
</+FieldVisibility>
</AddressFields-InputVisibility>
Beispiel 3: Umsatzsteuer soll nicht abgefragt werden, wenn Firma leer ist und als Rechnungsland nicht United Kingdom gewählt wurde
Das technische Adressdatenfeld "TaxID" der Rechnungsadresse mit der Bezeichnung "Umsatzsteuer" soll ausgeblendet werden, wenn das technische Adressdatenfeld "Company" leer ist und im technischen Adressdatenfeld "Company" das Land "United Kingdom" nicht gewählt wurde. Wird das Feld "TaxID" nicht angezeigt, sollen alle Eingaben aus diesem Feld gelöscht werden.
<AddressFields-InputVisibility>
<+FieldVisibility>
AddressField = TaxID
AddressType = bill
Visible = no
ResetIfHidden = yes
<+Condition>
Field = Company
Type = empty
</+Condition>
<+Condition>
Field = Country
Type = notvalue
Value = United Kingdom
</+Condition>
</+FieldVisibility>
</AddressFields-InputVisibility>
Beispiel 4: Das Eingabefeld "Registernummer" soll nur im Handelsregister eingetragenen Firmenkunden angezeigt werden
Für die Eingabe der Registernummer bei Firmenkunden wurde das Adressfeld "Suffix27" festgelegt, für die Auswahl der Rechtsform wurde "Suffix25" definiert. Das Eingabefeld "Registernummer" soll jedoch nicht angezeigt werden, wenn die Rechtsform der Firma Einzelfirma, Freiberufler, GbR oder Sonstige Personengesellschaft ist. Da mehrere Werte eingetragen werden müssen, wird im betreffenden Condition-Abschnitt als Type der Wert inlist gewählt. Beim Parameter Value können dann die Werte für die Condition als kommaseparierte Liste eingetragen werden:
<+FieldVisibility> # Definition Feld Registernummer
AddressField = Suffix27
AddressType = bill
Visible = no
ResetIfHidden = yes
<+Condition>
Field = Suffix25
Type = inlist
Value = Einzelfirma,Freiberufler,GbR,Sonstige Personengesellschaft
</+Condition>
</+FieldVisibility>