Parfois vous voudriez que toutes les pages d'un espace de noms donné aient un « squelette » commun. Par exemple, dans l'espace de noms adresse, vous auriez un tableau déjà prêt qu'il n'y aurait plus qu'à remplir avec les données. Ceci peut facilement être réalisé grâce aux “modèles d'espaces de noms”. Lorsque vous créez une page, dokuwiki cherche un fichier _template.txt dans l'espace de nom auquel appartient la page. S'il existe, il le copie dans la fenêtre de l'éditeur de la nouvelle page. Ces fichiers _template.txt sont de simples fichiers texte contenant de la syntaxe wiki.
Deux types de modèles peuvent être utilisés :
_template.txt qui est utilisé dans l'espace de nom en cours__template.txt (notez les deux caractères de soulignement) qui fonctionne comme le fichier _template.txt standard, sauf qu'il agit dans tout les espaces de nom contenu dans celui-ciUn moyen de créer un fichier modèle est :
_template.txtLe contenu du fichier est le langage standard du wiki.
À l'intérieur du fichier, vous pouvez également utiliser certain motif de remplacement pour rendre votre modèle un peu plus dynamique.
| @ID@ | identifiant (ID) complet de la page |
|---|---|
| @NS@ | espace de noms de la page |
| @PAGE@ | nom de la page 1) |
| @USER@ | identifiant de l'utilisateur qui créé la page |
| @NAME@ | nom de l'utilisateur qui créé la page |
| @MAIL@ | adresse email de l'utilisateur qui créé la page |
| @DATE@ | date et heure à laquelle l'édition de la page a commencé |
De plus, vous pouvez utiliser n'importe quelle valeur d'strftime pour insérer la date dans un format personnalisable. N'oubliez pas de doubler les % pour que cela fonctionne.
Vous ne pouvez pas éditer le fichier _template.txt via DokuWiki – seul celui qui peut éditer les fichiers directement depuis le serveur le peut (généralement un administrateur qui utilise FTP ou WebDAV).
Vous pouvez permettre l'édition dans le wiki aux admins avec le hack suivant: Ouvrez inc/pageutils.php et cherchez la fonction cleanID(). Au début de cette fonction, ajoutez global $INFO
global $INFO;
puis vers la ligne 98 (celle avec trim() ), remplacez par
$id = ($INFO['perm'] == 255 ? trim($id,':.-') : trim($id,':._-';))
Maintenant, vous devriez être capable d'éditer le modèle d'espace de noms avec l'URL doku.php?id=_template&do=edit. Note: Ceci ne semble fonctionner que pour le modèle de l'espace de noms root.
Si vous voulez autoriser quiconque à éditer le modèle, vous pouvez changer son nom en “template.txt” vers la ligne 524 de inc/common.php. Dès lors, tout utilisateur ayant le droit d'écriture dans cet espace de noms pourra créer une page appelée “template” dans cet espace de noms, qui servira de modèle.
Voir la page editable-namespace-templates
— Philippe LAPEYRIE 2006-05-21 21:27 — Aurélie 2006-12-10 18:02 — Yves Jacolin 2008-05-25 10:29 — Laynee 2008/08/25 13:04
Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Noncommercial-Share Alike 3.0 Unported