vtIf
(Basic, Pro, Master ab 1.0)
Leitet einen Codeblock ein, der nur unter bestimmten Bedingungen ausgegeben wird.
Verwendung
<!--{{vtIf: %Bedingung}}--> ... <!--{{vtEndIf}}-->
<!--{{vtIf: %Bedingung}}--> ... <!--{{vtElse}}--> ... <!--{{vtEndIf}}-->
- %Bedingung
Bedingung, unter der der nachfolgende Codeblock ausgegeben wird.
Hinweise
Die Bedingung besteht aus einem linken und einem rechten Vergleichswert sowie
einem Vergleichsoperator (siehe unten). Seit Virthos 3.0.4 ist es möglich,
mehrere Bedingungen anzugeben, indem man diese durch ein .and.
oder ein
.or.
miteinander verknüpft. Werden beide Verknüpfungsarten gemischt, hat ein
.and.
höhere Priorität als ein .or.
.
Die folgende Tabelle zeigt, welche Vergleichsoperatoren zur Verfügung stehen:
Operator | Bedeutung | Erläuterung |
---|---|---|
.eq. |
equals | ist gleich |
.neq. |
not equals | ist ungleich |
.gt. |
greater than | (Zahl, Datum oder Uhrzeit) ist größer als |
.gte. |
greater than or equal | (Zahl, Datum oder Uhrzeit) ist größer als oder gleich |
.lt. |
less than | (Zahl, Datum oder Uhrzeit) ist kleiner als |
.lte. |
less than or equal | (Zahl, Datum oder Uhrzeit) ist kleiner als oder gleich |
.bw. |
begins with | (Zeichenkette) beginnt mit |
.ew. |
ends with | (Zeichenkette) endet mit |
.cn. |
contains | (Zeichenkette oder Liste) enthält |
.ncn. |
not contains | (Zeichenkette oder Liste) enthält nicht |
.cn1of. |
contains 1 of | linke und rechte Liste enthalten mind. ein gemeinsames Element |
.in. |
in | (Zeichenkette oder Element) befindet sich in |
.nin. |
not in | (Zeichenkette oder Element) befindet sich nicht in |
Die Vergleichswerte können durch feste Werte oder durch Platzhalter (in
einfachen geschweiften Klammern) angegeben werden. Wenn der rechte
Vergleichswert durch einen Platzhalter angegeben wird, ist darauf zu achten,
dass die schließende Klammer dieses Platzhalters durch ein Leerzeichen von der
schließenden Klammer der vtIf
-Anweisung getrennt wird. Die Leerzeichen, die
in den Beispielen zwischen den Vergleichswerten und den Punkten des
Vergleichsoperators eingefügt sind, dienen nur der besseren Lesbarkeit und sind
nicht zwingend. Beim Vergleich werden sie ignoriert.
Soll ein Datum als Vergleichswert dienen, muss es in der Form tt.mm.jjjj
angegeben werden, eine Uhrzeit in der Form hh:mm
. Wenn der Stunden- oder
Minutenwert kleiner ist als 10 ist, muss eine Null vorangestellt werden; bei
Tages- und Monatswerten ist eine vorangestellte Null nicht erforderlich.
Beim Vergleichen von Zeichenketten ignoriert Virthos die Groß-/Kleinschreibung.
Die Bedingung {Name} .eq. meier
wäre also auch erfüllt, wenn im Feld Name das
Wort "Meier" oder "MEIER" stünde.
Beispiele
<!--{{vtIf: {vtCountPages} .eq. 0 }}-->
<p>keine Einträge vorhanden</p>
<!--{{vtEndIf}}-->
<!--{{vtIf: {Geburtsdatum} .eq. {vtDate:d.m.Y} }}-->
<p>Herzlichen Glückwunsch zum Geburtstag, {{Name}}!</p>
<!--{{vtElse}}-->
<p>Guten Tag, {{Name}}</p>
<!--{{vtEndIf}}-->
<!--
{{vtIf: {Prioritaet} .eq. 1 }}
{{vtSet: Text = "sehr dringend" }}
{{vtElseIf: {Prioritaet} .eq. 2 }}
{{vtSet: Text = "dringend" }}
{{vtElseIf: {Prioritaet} .eq. 3 }}
{{vtSet: Text = "normal" }}
{{vtElse}}
{{vtSet: Text = "unwichtig" }}
{{vtEndIf}}
-->
<!--{{vtIf: {Wochentag} .eq. Samstag .or. {Wochentag} .eq. Sonntag }}-->
<h1>Schönes Wochenende!</h1>
<!--{{vtEndIf}}-->