Using these statements, you can control if certain blocks
of code in your template are processed or not, based on
a given <CONDITION>.
This can for example be useful if you want certain
parts of the page to be only visible for registered users.
{IF <CONDITION>}
.. conditional code ..
[{ELSEIF <CONDITION>}
.. conditional code ..]
[{ELSE}
.. conditional code ..]
{/IF}
<CONDITION> Syntax: [NOT] <TEMPLATE VARIABLE> [<VALUE>]
The <TEMPLATE VARIABLE> in a
<CONDITION> has to be an
existing variable name.
The <VALUE> can be any of
the data types that are supported by the template
language (see Section 1.4.3, “Data types”).
If a <VALUE> is used, the
<TEMPLATE VARIABLE> will be
compared to the <VALUE>.
If the <VALUE> is omitted,
then the condition will check whether the
<TEMPLATE VARIABLE> is set
and not empty.
A condition can be negated by prepending the keyword
NOT to it.
Multiple conditions can be chained using the keywords
AND or OR.
Example 1.17. IF .. ELSEIF .. ELSE .. statement usage
{IF NOT LOGGEDIN}
You are currently not logged in.
{ELSEIF USER->username "John"}
Hey, it's good to see you again, mr. John!
{ELSE}
Welcome, {USER->username}!
{/IF}
{IF ADMINISTRATOR true OR USER->username "John"}
You are either an administrator or John.
{/IF}
{IF VARIABLE1 VARIABLE2}
Variable 1 and 2 have the same value.
{/IF}