If
Templating System : Designer Guide : Tag Reference : IfSummary
The if tag is used to output a template section only when certain conditions are met. It has the form <if expression>.
Expression Syntax
The expressions used in the <if> tag have the following formx0 [The operatornot
]op
x1x2 ...
op
determines the number
operands (x
0
, ...
x
n-1
).
The following operators are available:
- binary
-
x0
gt
x1 -
x0
ge
x1 -
x0
lt
x1 -
x0
le
x1 -
x0
eq
x1 -
x0
ne
x1
-
x0
- n-ary
-
x0
in
x1x2x3 ...
-
x0
- ternary
-
x0
between
x1x2
-
x0
- unary
-
x0
nil
-
x0
defined
-
x0
odd
-
x0
even
-
x0
true
-
x0
false
-
x0
Any of these operators can be prefixed with
not
to invert the outcome.
Usage Examples
<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@ true>True</if> <if @x@ false>False</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>
Notes
Any legal variables that may be referenced in the template may also be used in if statements. Words not surrounded with the commercial 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 elseif tag may be used following an if block to specify an alternate conditional template section.
<if @datasource.variable@ eq "blue"> <td bgcolor="#0000ff"> </if> <elseif @datasource.variable@ eq "red"> <td bgcolor=red> </elseif> <else> <td bgcolor="#ffffff"> </else>
-
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 expressions can be created by combining terms with 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.