The if tag is used to output a template section only when certain conditions are met.
<if @x@ eq 5>True</if> <if @x@ eq "Greta">True</if> <if @x@ ne 5>True</if> <if @x@ ne "Greta">True</if> <if @x@ lt 5>True</if> <if @x@ le 5>True</if> <if @x@ gt 5>True</if> <if @x@ ge 5>True</if> <if @x@ odd>True</if> <if @x@ even>True</if> <if @x@ between 3 6>True</if> <if @x@ not between 3 6>True</if> <if @x@ eq 5 and @y@ eq 2>True</if> <if @x@ ge 5 or @y@ le 2>True</if> <if @s@ nil>True</if> <if @s@ not nil>True</if> <if @z@ in "Greta" "Fred" "Sam">True</if> <if @z@ not in "Greta" "Fred" "Sam">True</if>
Any legal variables that may be referenced in the template may also be used in if statements. Words not surrounded with the commerical at sign (@) are interpreted literally.
Phrases with spaces in them must be enclosed in quotes to be grouped correctly:
<if @datasource.variable@ eq "blue sky">
<td bgcolor=#0000ff>
</if>
The else tag may be used following an if block to specify an alternate template section when a condition is not true:
<if @datasource.variable@ eq "blue">
<td bgcolor=#0000ff>
</if>
<else>
<td bgcolor=#ffffff>
</else>
Compound statements can be created using the and and or keywords, as illustrated above. Any number of statements may be connected in this fashion. There is no way to group statements to change the order of evaluation.
When a variable is tested using the nil operator, it will return true if the variable is undefined or if the value of the variable is an empty string.