Blöcke, bedingte Anweisungen und Schleifen</a>
<ol>
- <li><a href="dokumentenvorlagen-und-variablen.html#bloecke_ifnot">
- Der <code>if not</code>-Block</a></li>
-
<li><a href="dokumentenvorlagen-und-variablen.html#bloecke_if">
Der <code>if</code>-Block</a></li>
gesondert behandelt werden. Diese sind wie Variablennamen in spezieller
Weise markiert: <code><%anweisung%></code></p>
- <h3><a name="bloecke_ifnot">Der <code>if not</code>-Block</a></h3>
-
- <p class="blue"><code><%if not variablenname%><br>
- ...<br>
- <%end></code></p>
-
- <p>Eine normale "if-not-then"-Bedingung. Die Zeilen zwischen dem "if not" und
- dem "end" werden nur ausgegeben, wenn die Variable "variablenname" nicht
- gesetzt oder gleich 0 ist.</p>
-
<h3><a name="bloecke_if">Der <code>if</code>-Block</a></h3>
<p class="blue"><code><%if variablenname%><br>
"end" werden nur ausgegeben, wenn die Variable "variablenname" gesetzt und
ungleich 0 ist.</p>
+ <p>Die Bedingung kann auch negiert werden, indem das Wort
+ "not" nach dem "if" verwendet
+ wird. Beispiel: <code class="blue"><%if not
+ cp_greeting%></code></p>
+
+ <p>Zusätzlich zu dem einfachen Test, ob eine Variable gesetzt ist
+ oder nicht, bietet dieser Block auch die Möglichkeit, den Inhalt
+ einer Variablen mit einer festen Zeichenkette oder einer anderen
+ Variablen zu vergleichen. Ob der Vergleich mit einer Zeichenkette
+ oder einer anderen Variablen vorgenommen wird, hängt davon ab, ob
+ die rechte Seite des Vergleichsoperators in Anführungszeichen
+ gesetzt wird (Vergleich mit Zeichenkette) oder nicht (Vergleich mit
+ anderer Variablen). Zwei Beispiele, die beide Vergleiche zeigen:</p>
+
+ <p><code class="blue"><%if var1 == "Wert"%></code>
+ testet die Variable "var1" auf Übereinstimmung mit der
+ Zeichenkette "Wert". Mittels "!=" anstelle von
+ "==" würde auf Ungleichheit getestet.</p>
+
+ <p><code class="blue"><%if var1 == var2%></code> testet die
+ Variable "var1" auf Übereinstimmung mit der Variablen
+ "var2". Mittels "!=" anstelle von "=="
+ würde auf Ungleichheit getestet. </p>
+
+ <p>Erfahrere Benutzer können neben der Tests auf (Un-)Gleichheit auch
+ Tests auf Übereinstimmung mit regulären Ausdrücken ohne
+ Berücksichtung der Groß- und Kleinschreibung durchführen. Dazu dient
+ dieselbe Syntax wie oben nur mit "=~" und "!~"
+ als Vergleichsoperatoren.</p>
+
+ <p>Beispiel für einen Test, ob die Variable "intnotes"
+ (interne Bemerkungen) das Wort "schwierig" enthält:
+ <code class="blue"><%if intnotes =~ schwierig%></code></p>
+
<h3><a name="bloecke_foreach">Die <code>foreach</code>-Schleife</a></h3>
<p class="blue"><code><%foreach variablenname%><br>