La directive if
est fournie par le module d'extension conditional.
Cette directive permet de faire dépendre l'affichage de texte d'une condition donnée. Par exemple :
[[!if test="enabled(smiley)"
then="Le greffon smiley est activé :-)"
else="Pas de greffon smiley ici..."]]
Si le test
réussit, le texte du paramètre then
est affiché. Sinon, le
texte du paramètre else
est affiché. La partie else
du test est
facultative.
Les valeurs de then
et else
peuvent inclure n'importe quelle balise qui
serait autorisée dans les pages du wiki. Tripler les guillemets autour de la
valeur permet même d'y inclure des guillemets.
Le test
est une spécification PageSpec. Si une page correspond
à l'expression, le test réussit. Vous pouvez ainsi tester l'existence d'une
page ou de plusieurs, tester la date de création, etc.
Si vous voulez confronter l'expression PageSpec uniquement à la page qui contient la condition plutôt qu'à toutes les pages du wiki, il faut donner la valeur "no" au paramètre "all".
Dans une directive if
, la syntaxe normale d'une spécification
PageSpec est étendue avec les tests suivants :
enabled(greffon)
Ce test vérifie si le greffon indiqué est activé.
sourcepage(motif)
Ce test confronte le motif donné au nom de la page qui contient la condition.
destpage(motif)
Ce test confronte le motif donné au nom de la page qui est construite. Ce nom peut être différent du nom de la page qui contient la condition, si la page est reliée à une autre page.
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.