auteurs, admins (intermédiaire)
PmWiki est livré avec deux directives permettant de produire des listes de pages -- (:pagelist:)
et (:searchresults:)
. La différence essentielle entre les deux est que 'searchresults': génère les textes "Les résultats de la recherche pour ..." et "### pages trouvées parmi ### " encadrant le résultat -- à part ça, ce sont des directives similaires.
Syntaxe de base
(:pagelist:)
sans arguments affiche une liste à puce de toutes les pages, avec les liens, ordonnées par ordre alphabétique et par groupes.
(:pagelist group=abc fmt=def list=ghi order=jkl argument1 argument2 etc:)
affiche une liste de page en fonction des paramètres fournis. Les paramètres sont optionnels.
Paramètres
Tout argument fourni avec (:pagelist:)
qui n'est pas de la forme 'clé=valeur'
est traité comme du texte qui doit (ou ne doit pas) figurer dans le texte de la page. Ainsi
(:pagelist trail=PmWiki.IndexDocumentation list=normal pomme -caramel:)
liste toutes les pages "normales" du trail IndexDocumentation qui contiennent le mot "pomme" mais pas le mot "caramel".
group= et name=
Les paramètres "group=
" et "name=
" limitent les résultats aux pages d'un groupe particulier avec un nom particulier:
# Toutes les pages du groupe Pmwiki:
(:pagelist group=PmWiki :)
# Toutes les pages sauf celles des groupes PmWiki et Site:
(:pagelist group=-PmWiki,-Site :)
# Toutes les pages 'RecentChanges'
(:pagelist name=RecentChanges :)
# Toutes les pages sauf 'RecentChanges'
(:pagelist name=-RecentChanges :)
Jokers
Les paramètres de nom et de groupe peuvent contenir des jokers qui n'affichent que les pages correspondant aux critères:
- Une astérisque (*) représente zéro ou plus caractères
- Un point d'interrogation représente exactement un caractères
Exemples:
# Toutes les pages des groupes débutant par "PmWiki"
(:pagelist group=PmWiki* :)
# Toutes les pages des groupes débutant par "PmWiki", sauf le chinois
(:pagelist group=PmWiki*,-PmWikiZh* :)
# Toutes les pages du groupe PmCal avec un nom débutant par "2005":
(:pagelist name=PmCal.2005* :)
trail=
L'option "trail=
" récupère la liste des pages à afficher à partir d'un WikiTrail:
# Affiche les pages de la documentation ordonnées par date de modification
(:pagelist trail=PmWiki.DocumentationIndex order=-time:)
# Affiche les 5 pages modifiées les plus récemment
(:pagelist trail=RecentChanges count=5:)
list=
L'option "list=
" permet à une recherche d'afficher ou d'exclure des pages suivant des critères définis préalablement par l'administrateur. PmWiki prédéfinit "list=normal
", ce qui exclut de l'affichage les pages AllRecentChanges, RecentChanges, GroupHeader, GroupFooter, et les pages similaires. Les administrateurs Wiki peuvent définir des listes personnalisées via le tableau $SearchPatterns
(voir (en anglais) le Cookbook:SearchResults).
fmt=
L'option "fmt=
" détermine comment la liste doit être affichée. PmWiki prédéfinit plusieurs formats:
fmt=#bygroup
- Affiche les pages par ordre alphabétiques dans les groupes
fmt=#simple
- Affiche une simple liste de pages ordonnée
fmt=#title
- Affiche une liste de pages triée par titres. Utiliser "order=title
" pour les avoir triées par titre (le déafut est triée par nom de page).
fmt=#group
- Affiche un liste de groupes Wiki
fmt=#include
- Affiche le contenu de chaque page de la liste (notez que ceci peut prendre beaucoup de temps pour les longues listes!)
Des formats de liste de page personnalisés peuvent être créés en utilisant les modèles de liste de page et référençés par l'option fmt=
. (Les modèles par défaut de PmWiki sont dans Site.PageListTemplates.) Il y a de multiples manières d'indiquer quel modèle utiliser:
fmt=#custom
utilise la section #custom de la page Site.PageListTemplates (les sections sont délimitées par des ancres [[#custom]]
.
fmt=MyTemplatePage#custom
utilise un format personnalisé de la page MyTemplatePage dans sa section #custom.
fmt=custom
utilise un format personnalisé qui est défini dans un script du cookbook comme custom.
Cookbook:PagelistTemplateSamples propose (en anglais) de nombreux exemples de formats de liste de page personnalisés.
De plus, on trouve dans le Cookbook:Cookbook d'autres recettes pour les optrions spéciales de fmt=
, incluant fmt=dictindex
(index alphabétique) et fmt=forum
(envoi dans des forums).
link=
L'option "link=
" permet les "liens arrière" -- c'est à dire qu'elle renvoie une liste des pages ayant un lien vers une cible. C'est particulièrement pratique pour les pages de Catégories et pour trouver les pages associées.
# toutes les pages comportant un lien vers PmWikiFr.IndexDocumentation
(:pagelist link=PmWikiFr.IndexDocumentation:)
# toutes les pages comportant un lien vers la page en cours
(:pagelist link={$FullName}:)
# toutes les pages de la catégorie "Skins"
(:pagelist link=Category.Skins:)
count=
L'option "count=
" limite la liste de page à un nombre donné d'items.
# Une simple liste à puces des dix pages les plus récemment modifiées
(:pagelist trail=Site.AllRecentChanges count=10 fmt=#simple:)
order=
L'option "order=
" permet aux pages de la liste d'être ordonnées suivant différents critères. Utiliser un signe moins pour inverser l'ordre du tri. Plusieurs critères de tri peuvent être utilisés en les séparant par une virgule:
order=name
- par ordre alphabétique de nom
order=-name
- par ordre alphabétique inverse de nom
order=title
- par titre
order=-time
- les pages les plus récemment modifiées en premier
order=ctime
- par date de création de page
order=size
- par taille de page
order=group,title
- par titre à l'intérieur des groupes
order=random
- organise les pages au hasard
Exemples
Inclue le contenu de page aléatoires du groupe 'Banners':
(:pagelist group=Banners order=random count=1 fmt=#include list=normal:)
Affiche une liste simple des dix dernières pages modifiées
(:pagelist trail=Site.AllRecentChanges count=10 fmt=#simple:)
Voir aussi
<< Catégories | Index de la documentation | Supprimer une page >>
Traduction de PmWiki.PageLists
Page originale sur PmWikiFr.PageLists - Référencé par
Dernières modifications:
PmWikiFr.PageLists: 10 September 2011 à 15h40
PmWiki.PageLists: 03 March 2023 à 21h04