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 2: Umsatzsteuer soll abgefragt werden, wenn Firma gefüllt ist und auch als Anrede "Firma" gewählt ist

Beispiel 3: Umsatzsteuer soll nicht abgefragt werden, wenn Firma leer ist und als Rechnungsland nicht United Kingdom gewählt wurde

Beispiel 4: Das Eingabefeld "Registernummer" soll nur im Handelsregister eingetragenen Firmenkunden angezeigt werden

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>