Direktiva if
je poskytována modulem conditional.
Pomocí této direktivy můžete na stránce zobrazovat text v závislosti na splnění nějaké podmínky. Například:
[[!if test="enabled(smiley)"
then="Modul smiley je povolen :-)"
else="Bez modulu smiley..."]]
Pokud je zadaný test
splněn, zobrazí se text v parametru then
, jinak se
zbobrazí text v parametru else
. Parametr else
je volitelný.
Hodnoty v parametrech then
a else
mohou obsahovat libovolné značky,
které jsou povoleny na běžné wiki stránce. Trojité uvozovky dokonce umožňují
použít uvnitř hodnoty (anglické) uvozovky.
test
je vlastně PageSpec. Pokud vyhovuje alespoň jedna
stránka, test uspěl. Můžete tak testovat přítomnost stránky nebo stránek,
zjišťovat, jestli byly nějaké stránky vytvořeny v daném měsíci, a podobně.
Chcete-li, aby se PageSpec testovalo pouze na stránce obsahující podmínku a ne na všech stránkách ve wiki, nastavte parametr „all“ na hodnotu „no“.
V direktivě if
je běžná syntaxe PageSpec rozšířena o
následující testy:
enabled(modul)
Testuje, zda je zadaný modul povolen.
sourcepage(vzor)
Testuje, zda se vzor shoduje s názvem stránky, která obsahuje podmínku.
destpage(vzor)
Testuje zda se vzor shoduje s názvem stránky, která se právě sestavuje. To může být odlišné od názvu stránky, která obsahuje podmínku, např. pokud je stránka vložena do jiné stránky.
included()
Tests whether the page is being included onto another page, for example via inline or map. Note that pages inserted into other pages via template are not matched here.