Einstellungen:Abfragelogik

Aus Afterbuy-Wiki
Wechseln zu:Navigation, Suche


Abfragelogik

if/else Abfragen[Bearbeiten]

If/else Abfragen können für das Optimieren und Formatieren Ihrer Vorlagen verwendet werden. Der Aufbau einer solchen Abfrage sieht immer wie folgt aus:

<-if-><-else-><-end if-> oder <-if-><-end if->

Dabei gilt zu beachten, dass die Anweisung, welche hinter der <-if-> Bedingung steht, nur angewendet wird, wenn die Bedingung gültig ist. Ansonsten wird alles hinter der <-else-> Bedingung ausgewertet. Sollte keine <-else-> Bedingung vorhanden sein, wird nichts ausgewertet. Die entsprechenden Bedingungen können anhand von Variablen angegeben werden.

Beispiel

code
   Land Deutschland

<-else->

   Irgendwo auf der Welt
<-end if->

Wichtig ist, dass die Bedingung (in diesem Fall die Variable <-KLand-> = D) nur innerhalb des <-if-> stehen darf. In dem Beispiel wird geprüft, ob in der Variable <-KLand-> der Wert "D" steht. Wenn der Wert "D" in der Variable <-KLand-> steht, wird der Text "Land Deutschland" ausgegeben. Sollte die Variable <-KLand-> nicht den Wert "D" haben, wird der Wert nach dem <-else-> ausgegeben. In diesem Fall ist es "Irgendwo auf der Welt". Die <-else-> Bedingung ist optional und muss nicht angegeben werden. Es kann auch nur geprüft werden, ob in der Variable <-KLand-> der Wert "D" steht. Das sieht dann wie folgt aus:

<-if <-KLand-> = D->

   Land Deutschland

<-end if->

Es wird nur "Land Deutschland" ausgegeben wenn der Wert von <-Kland-> "D" ist. Sollte dieser nicht "D" sein, passiert nichts.

Es stehen 5 Parameter zur Verfügung um Werte abzufragen. Diese lauten:

> -> Größer als

< -> Kleiner als

= -> gleich ...

<> -> ungleich ...

holds -> enthält

Sollte man mit einer einfach <-If-> Abfrage nicht auskommen, kann man diese auch verschachteln um die Ergebnisse weiter einzugrenzen. Eine Verschachtelung ist eine erneute <-If-> Abfrage in einer bestehenden (also im Ergebnis). Eine solche sieht wie folgt aus:

<-if <-KLand-> = D->

   Land Deutschland
   <-if <-KPLZ-> = 47800->
       Stadt Krefeld
   <-else->
       Irgendwo in Deutschland
   <-end if->

<-else->

   Irgendwo auf der Welt

<-end if->

Es wird geprüft, ob die Variable <-KLand-> den Wert "D" enthält. Wenn dies der Fall ist, wird "Land Deutschland" ausgegeben und anschließend wird die nächste <-If-> Abfrage geprüft. In unserem Fall abgefragt, ob die Variable <-KPLZ-> den Wert "47800" enthält. Sollte dies der Fall sein, wird "Stadt Krefeld" ausgegeben. Wenn dies nicht der Fall ist, erhalten wir den Wert "Irgendwo in Deutschland".

Sollte jedoch die Variable <-KLand-> nicht den Wert "D" haben, kann diese zweite <-If-> Abfrage gar nicht erst gestartet werden und es wird direkt der Wert "Irgendwo auf der Welt ausgegeben".

Ähnliche <-If-> Abfragen können natürlich auch mit anderen Parametern durchgeführt werden. Nur bei dem Parameter "holds" gibt es eine Besonderheit. Mit "holds" kann man mit einem besonderen Syntax mehrere Werte prüfen.

Dieser Syntax sieht wie folgt aus;

<-if ,D,NL, holds ,<-KLand->,->

   Deutschland oder Niederlande

<-else->

   Irgendwo auf der Welt

<-end if->

In diesem Fall (welcher nur mit dem "holds" Parameter möglich ist) wird geprüft ob die Variable <-KLand-> den Wert "D" oder "NL" enthält. Sollte dies der Fall sein, wird "Deutschland oder Niederlande" ausgegeben, ansonsten "Irgendwo auf der Welt".