summaryrefslogtreecommitdiff
path: root/ikiwiki/directive/if.mdwn
blob: baa629fd5f92d2632bdcf8e65161871010503765 (plain)

La directive if est fournie par le module d'extension [[!iki plugins/conditional desc=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 [[ikiwiki/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 [[ikiwiki/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 [[ikiwiki/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()

    Ce test vérifie si la page est incluse dans une autre page.

[[!meta robots="noindex, follow"]]