La directive permet à certaines portions de la page d’être incluses ou exclues du traitement.
La forme générique de la directive (:if:)
est
(:if cond param:) Contenu du corps (:ifend:)
où “cond” nomme une condition à tester, et “param” est un paramètre ou autre argument du test.
Les conditions prédéfinies par défaut dans PmWiki sont:
(:if name NOMDEPAGE:) - La page courante est nommée "NOMDEPAGE" (:if group NOMDEGROUPE:) - Le groupe courant est nommé "NOMDEGROUPE" (:if auth ACTION:) - L'utilisateur peut effectuer telle ACTION où ACTION peut être : read, edit, upload, attr ou admin (:if authid:) - L'utilisateur actuel est authentifié (:if true:) - Toujours inclure le texte (:if false:) - Toujours exclure le texte (pareil qu'un commentaire) (:if attachments:) - La page courante possède des fichiers joints (:if date DATE1..DATE2]:) - La date courante est comprise dans l'intervalle de DATE1 et DATE2. (les dates ont la forme yyyy-mm-dd ou yyyymmdd) (:if enabled VAR:) - vraie la variable PHP VAR est vraie (:if equal CHAÎNE1 CHAÎNE2:) - vraie si la CHAÎNE1 est égale à la CHAÎNE2 (:if match REG_EXPRESSION:) - vraie si le nom de la page correspond à l'expression rationnelle (:if enabled VARIABLE:) - vraie si VARIABLE dans ''local/config.php'' ou dans un scripte php de "skin" est initialisée en égale à 1 ou contient une chaîne.
Les formes négatives de conditions fonctionne également.
(:if !attachments:) Cette page ne possède pas de fichiers joints
N’importe quel termine automatiquement le précédent, ainsi les balises peuvent être facilement empilées:
(:if auth read:)* Vous pouvez lire (:if auth edit:)* Vous pouvez éditer (:if auth upload:)* Vous pouvez télécharger (:ifend:)
Voir : Cookbook:ConditionalMarkupSamples (en anglais)