PmWikiFr
(:title Comment lister les pages:)
%vert%Traduction à compléter.
!! Question
Comment utiliser la directive [@(:pagelist:)@]?
!! Réponse
PmWiki possède deux directives destinées à générer 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= paramètre
-<Le paramètre @@"'''group='''"@@ limite les résultats aux pages appartenant à un groupe donné.
!!! name= paramètre %green%[-(nouveauté de pmwiki 2.1.beta21)-]
-<Le paramètre @@"'''name='''"@@ limite les résultats à certaines pages avec un nom spécifique. Utiliser des caractères spéciaux de remplacement avec des noms partiels.
!!! Utiliser des caractères de remplacement dans les noms %green%[-(nouveauté de pmwiki 2.1.beta21)-]
Les caractères de remplacement peuvent être utilisés avec les paramètres ''group'' et ''name''.\\
Ce sont le caractère '''*''' représentant n'importe quelle séquence de caractères, le caractère '''?''' représente un caractère unique. Le signe '''-''' ou le point d'exclamation '''!''' sont utilisés pour indiquer une négation.
Exemples d'utilisation de caratères de remplacement :
* Toutes les pages d'un groupe PmWiki:
->[@(:pagelist group=PmWiki :)@]
* Toutes les pages sauf celles d'un groupe PmWiki:
->[@(:pagelist group=-PmWiki :)@]
* Toutes les pages de n'importe quel groupe commençant par "PmWiki":
->[@(:pagelist group=PmWiki* :)@]
* Toutes les pages de n'importe quel groupe commençant par "PmWiki", mais pas "PmWikiZh":
->[@(:pagelist group=PmWiki*,-PmWikiZh* :)@]
* Toutes les pages sauf celles nommées "HomePage":
->[@(:pagelist name=-HomePage :)@]
* Toutes les pages du groupe PmCal dont le nom commence par "2005":
->[@(:pagelist name=PmCal.2005* :)@]
Les jokers fonctionnent aussi avec les balises de condition, ce qui nous donne:
->[@(:if name PmCal.2005* :)
(:if group PmWiki* :)
(:if name Profiles.*,-Profiles.Profiles :)@]
!!! trail= paramètre
-<Le paramètre @@"'''trail='''"@@ renvoie la liste des pages affichées dans un `WikiTrail.
!!! list= paramètre
-<L'option @@"'''list='''"@@ pertmet à la recherche d'inclure/exclure des pages qui sont définies par l'administrateur dans des ensembles précisés dans le fichier config.php. PmWiki prédéfini @@"list=normal"@@, qui exclut les choses telles que AllRecentChanges, RecentChanges, GroupHeader, GroupFooter, GroupAttributes, etc., de l'affichage des résultats. Les administrateurs du Wiki peuvent définir leurs propres listes via le tableau $SearchPatterns (voir en anglais) [[Cookbook.SearchResults]]).
!!! fmt= paramètre
-<Le paramètre @@"'''fmt='''"@@ détermine comment la liste résultante doit être affichée.
!!!! paramètres fmt prédéfinis:
PmWiki prédéfinit "fmt=simple", "fmt=bygroup", "fmt=title", et "fmt=group". Sans paramètre fmt= la valeur par défaut est par groupe.
* @@fmt=bygroup@@ est la valeur par défaut et produit une liste de pages triée par groupes.
* @@fmt=simple@@ donne une liste de noms de pages de la forme Groupe.Nom.
* @@fmt=title@@ donne une liste de titres de page. Par défaut [@order=title@] ce qui trie les pages par titre.
* @@fmt=group@@ donne une liste de groupes, sans noms de pages.
!!!! PageLists Templates
Depuis la version 2.1.beta15, PmWiki utilise les templates pour ses formats prédéfinis de pagelist, lesquels sont stocké dans [[Site.PageListTemplates]], et peuvent être édité là. D'autres formats personnalisés peuvent être ajoutés, à cette page ou à n'importe quel autre, ou défini dans config.php ou un script cookbook. Il y a plusieurs façons d'indiquer quel template pagelist à utiliser:
* [@fmt=#custom@] utilise le format personnalisé de [[Site.PageListTemplates]] depuis la section #custom.
* [@fmt=MyTemplatePage#custom@] utilise le format personnalisé de la page MyTemplatePage depuis sa section #custom.
* [@fmt=custom@] utilise le format personnalisé qui est défini dans un script cookbook de ''custom''.
Check out these custom [[PagelistTemplateSamples]].
!!!! Custom formats added by cookbook scripts:
* [@fmt=dictindex@] is added by [[Cookbook.DictIndex]]. It gives an pagelist broken into alphabetical sections.
* [@fmt=forum@] is added by [[Cookbook.SimpleForum]]. It gives a 3-column table with page title, modified date and author.
Cookbook recipes can add more output formatting options by creating new format template sections, or via the $FPLFunctions array as a custom function. Several that are planned are also @@"fmt=publish"@@ to displays the contents of each page in the list, @@"fmt=include"@@ to include portions of a page's text, "fmt=category" to display pages in a form suitable for category listings, and "fmt=menu" to display the list as an expandable or dropdown menu.
!!! link= parameter
-<The @@"'''link='''"@@ parameter provides a list of pages that have a link to `SomeGroup.SomePage specified. Some examples for this (see also [[Backlinks]], [[Cookbook/FastBacklinks]]):
* To display a list of all pages that have a page link to `PmWiki.DocumentationIndex:
->[@(:pagelist link=PmWiki.DocumentationIndex:)@]
* To display a list of all pages that link to the current page:
->[@(:pagelist link={$FullName} :)@]
* To display a list of all pages in group Main that have a page link to Main.HomePage:
->[@(:pagelist group=Main link=Main.HomePage:)@]
* To display a list of all pages in the "Skins" category.
->[@(:pagelist link=Category.Skins:)@]
->%red%'' could there be a [@(:pagelist link=Groupname:)@], somehow?''
!!! count= parameter
The @@"'''count='''"@@ parameter restricts the pagelist to only the first of a number of pages specified.\\
Example: display the "top twenty" biggest cookbook pages:
->[@(:pagelist group=Cookbook order=-size count=20 :)@]
!!! order= parameter
-<The "'''order='''" parameter allows the pagelist to be sorted in different ways than the default alphabetical order.
* @@order=name@@ Alphabetical listing (A to Z), this is PmWiki's default.
* @@order=-name@@ Reverse alphabetical listing (Z to A).
* @@order=title@@ Pagelist sorted alphabetically (A to Z) by titles rather than names.
* @@order=-title@@ Reverse alphabetical (Z to A) listing by titles rather than names.
* @@order=ctime@@ Pagelist sorted by creation time (most recently created pages last).
* @@order=-ctime@@ Pagelist in reverse order by creation time (most recently created pages first).
* @@order=time@@ Pagelist sorted by modification time (most recently changed pages last).
* @@order=-time@@ Pagelist in reverse order by modification time (most recently changed pages first).
* @@order=size@@ Pagelist sorted by page size (not file size), smallest pages first.
* @@order=-size@@ Pagelist sorted by page size, biggest pages first.
* @@order=random@@ Pagelist sorted randomly
->Note: fmt=trail results in an unordered pagelist, i.e. the trail order is preserved in the pagelist. So PmWiki's alphabetical default order does not apply in this case.
->Note: ctime is added to pages only from pmwiki 2.1.beta15 onwards, pages created by earlier versions don't carry a ctime attribute and can't be sorted that way.
!!!! Examples
Example 1: Display all pages of the current group, except this page, by time of modification, most recent first:
->[@(:pagelist group={$Group} order=-time list=normal -{$FullName}:)@]
Example 2: Displays a list of all pages with links to Pm's profiles page (i.e., pages containing [[~Pm]]. What's more, the pages are listed in reverse order by modification time (most recently changed pages first):
->[@(:pagelist link=Profiles.Pm order=-time fmt=simple:)@]
->Note that the @@link=@@ and @@order=@@ options are "expensive" in that they require a fair amount of page scanning in order to obtain their results. On the other hand, @@link=@@ and @@order=@@ are less expensive than doing full text searches, and in future versions of PmWiki they may end up being optimized even further.
!! Comments/Questions
!!! A through AZ B through BZ C through CZ titles listing
I will have a large wiki with lots of play titles. I would like to be able to have separate pagelists containing section A titles, section B titles, section C titles, etc. instead of one large alphabetical listing of titles. Is this possible with pagelist? PL 20060218
->You can use wildcards for this:
!!!A section:
[@(:pagelist group=Plays list=normal name=A* :)@]
!!!B section:
[@(:pagelist group=Plays list=normal name=B* :)@]
!!!C section:
[@(:pagelist group=Plays list=normal name=C* :)@]
etc.
!!!X Y Z section
[@(:pagelist group=Plays list=normal name=X*,Y*,Z* :)@]
%right%~''[[~HansB]]''
!!!! Searching for page names only (not content)
In a large wiki, pages are often named systematically, so I sometimes need to get a list of pages with specific name parts (the Linux [@ls *name*@] thing). I couldn't find a way to configure it (list=xxx allows so but only for predefined patterns), so I added the following code to pagelist.php (beta36) near line 111 next to the 'group' option:
if ($opt['named']) array_unshift($pats,"/({$opt['named']})/i");
Then with
[@(:pagelist named=ReleaseNotes list=normal:)@]
I get (very quick) a list of all pages containing [@"ReleaseNotes"@] in their name. Wouldn't that be worth adding to the mainline code? [[~tpahl]]
----
!!! Listing all groups except one
->[@(:pagelist group= -PmWiki:)@] will list from all groups execpt PmWiki. See [[PmWiki/Directives#pagelist]]
----
!! Question
[@(:pagelist group=Recipes list=normal apple pie:)@]
lists all pages with apple AND pie in them,
how do I get a list of all pages with apple OR pie?
!!! Answer
I would suggest use two pagelist directives:\\
[@(:pagelist group=Recipes list=normal apple :)@]\\
[@(:pagelist group=Recipes list=normal pie:)@]\\
[[~DirkBlaas]]
[[<<]]
%blue%This unfortunately list all pages that have both apple and pie on them twice.%%
[@(:pagelist group=Recipes list=normal -apple -pie:)@]
lists all pages without apple OR pie,
how do I get a list of all pages without apple AND pie in them?
----
!! How to exclude more than one group
This is possible from pmwiki 2.1.beta21 onwards using this syntax:
[@(:pagelist group=-xxx,-yyy,-zzz :)@]
(HansB gave me this hint - Thanks!)
Does this apply to the name parameter too, eg
[@(:pagelist group=TrampingReports order=-name list=normal name=-2005*,-HomePage,-Template:)@]
!! Voir aussi
* [[PmWiki.Directives#attachlist]]
!! Contributeurs
* Radu
* joachim Durchholz
* [[~HansB]]
----
Category: [[!Searching]]
%tr% Traduction de Cookbook:PageListsExplained
Pagelists Explained
Historique de PmWikiFr.PagelistsExplained
Cacher les modifications mineures - Affichage de la sortie
27 décembre 2016 à 18h21
par - EjmSqKnkyMRgOZ
Lignes 1-199 modifiées:
%vert%Traduction à compléter
!! Question
Comment utiliser la directive [@(:pagelist:)@]?
!! Réponse
PmWiki possède deux directives destinées à générer des listes de pages -- [@(:pagelist:)@]
et [@(:searchresults:)@]
!! 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= paramètre
-<Le paramètre @@"'''group='''"@@ limite les résultats aux pages appartenant à un groupe donné.
!!! name= paramètre %green%[-(nouveauté de pmwiki 2.1.beta21)-]
-<Le paramètre @@"'''name='''"@@ limite les résultats à certaines pages avec un nom spécifique. Utiliser des caractères spéciaux de remplacement avec des noms partiels.
!!! Utiliser des caractères de remplacement dans les noms %green%[-(nouveauté de pmwiki 2.1.beta21)-]
Les caractères de remplacement peuvent être utilisés avec les paramètres ''group'' et ''name''.\\
Ce sont le caractère '''*''' représentant n'importe quelle séquence de caractères, le caractère '''?''' représente un caractère unique. Le signe '''-''' ou le point d'exclamation '''!''' sont utilisés pour indiquer une négation.
Exemples d'utilisation de caratères de remplacement :
* Toutes les pages d'un groupe PmWiki:
->[@(:pagelist group=PmWiki :)@]
* Toutes les pages sauf celles d'un groupe PmWiki:
->[@(:pagelist group=-PmWiki :)@]
* Toutes les pages de n'importe quel groupe commençant par "PmWiki":
->[@(:pagelist group=PmWiki* :)@]
* Toutes les pages de n'importe quel groupe commençant par "PmWiki", mais pas "PmWikiZh":
->[@(:pagelist group=PmWiki*,-PmWikiZh* :)@]
* Toutes les pages sauf celles nommées "HomePage":
->[@(:pagelist name=-HomePage :)@]
* Toutes les pages du groupe PmCal dont le nom commence par "2005":
->[@(:pagelist name=PmCal.2005* :)@]
Les jokers fonctionnent aussi avec les balises de condition, ce qui nous donne:
->[@(:if name PmCal.2005* :)
(:if group PmWiki* :)
(:if name Profiles.*,-Profiles.Profiles :)@]
!!! trail= paramètre
-<Le paramètre @@"'''trail='''"@@ renvoie la liste des pages affichées dans un `WikiTrail.
!!! list= paramètre
-<L'option @@"'''list='''"@@ pertmet à la recherche d'inclure/exclure des pages qui sont définies par l'administrateur dans des ensembles précisés dans le fichier config.php. PmWiki prédéfini @@"list=normal"@@, qui exclut les choses telles que AllRecentChanges, RecentChanges, GroupHeader, GroupFooter, GroupAttributes, etc., de l'affichage des résultats. Les administrateurs du Wiki peuvent définir leurs propres listes via le tableau $SearchPatterns (voir en anglais) [[Cookbook.SearchResults]]).
!!! fmt= paramètre
-<Le paramètre @@"'''fmt='''"@@ détermine comment la liste résultante doit être affichée.
!!!! paramètres fmt prédéfinis:
PmWiki prédéfinit "fmt=simple", "fmt=bygroup", "fmt=title", et "fmt=group". Sans paramètre fmt= la valeur par défaut est par groupe.
* @@fmt=bygroup@@ est la valeur par défaut et produit une liste de pages triée par groupes.
* @@fmt=simple@@ donne une liste de noms de pages de la forme Groupe.Nom.
* @@fmt=title@@ donne une liste de titres de page. Par défaut [@order=title@] ce qui trie les pages par titre.
* @@fmt=group@@ donne une liste de groupes, sans noms de pages.
!!!! PageLists Templates
Depuis la version 2.1.beta15, PmWiki utilise les templates pour ses formats prédéfinis de pagelist, lesquels sont stocké dans [[Site.PageListTemplates]], et peuvent être édité là. D'autres formats personnalisés peuvent être ajoutés, à cette page ou à n'importe quel autre, ou défini dans config.php ou un script cookbook. Il y a plusieurs façons d'indiquer quel template pagelist à utiliser:
* [@fmt=#custom@] utilise le format personnalisé de [[Site.PageListTemplates]] depuis la section #custom.
* [@fmt=MyTemplatePage#custom@] utilise le format personnalisé de la page MyTemplatePage depuis sa section #custom.
* [@fmt=custom@] utilise le format personnalisé qui est défini dans un script cookbook de ''custom''.
Check out these custom [[PagelistTemplateSamples]].
!!!! Custom formats added by cookbook scripts:
* [@fmt=dictindex@] is added by [[Cookbook.DictIndex]]. It gives an pagelist broken into alphabetical sections.
* [@fmt=forum@] is added by [[Cookbook.SimpleForum]]. It gives a 3-column table with page title, modified date and author.
Cookbook recipes can add more output formatting options by creating new format template sections, or via the $FPLFunctions array as a custom function. Several that are planned are also @@"fmt=publish"@@ to displays the contents of each page in the list, @@"fmt=include"@@ to include portions of a page's text, "fmt=category" to display pages in a form suitable for category listings, and "fmt=menu" to display the list as an expandable or dropdown menu.
!!! link= parameter
-<The @@"'''link='''"@@ parameter provides a list of pages that have a link to `SomeGroup.SomePage specified. Some examples for this (see also [[Backlinks]], [[Cookbook/FastBacklinks]]):
* To display a list of all pages that have a page link to `PmWiki.DocumentationIndex:
->[@(:pagelist link=PmWiki.DocumentationIndex:)@]
* To display a list of all pages that link to the current page:
->[@(:pagelist link={$FullName} :)@]
* To display a list of all pages in group Main that have a page link to Main.HomePage:
->[@(:pagelist group=Main link=Main.HomePage:)@]
* To display a list of all pages in the "Skins" category.
->[@(:pagelist link=Category.Skins:)@]
->%red%'' could there be a [@(:pagelist link=Groupname:)@], somehow?''
!!! count= parameter
The @@"'''count='''"@@ parameter restricts the pagelist to only the first of a number of pages specified.\\
Example: display the "top twenty" biggest cookbook pages:
->[@(:pagelist group=Cookbook order=-size count=20 :)@]
!!! order= parameter
-<The "'''order='''" parameter allows the pagelist to be sorted in different ways than the default alphabetical order.
* @@order=name@@ Alphabetical listing (A to Z), this is PmWiki's default.
* @@order=-name@@ Reverse alphabetical listing (Z to A).
* @@order=title@@ Pagelist sorted alphabetically (A to Z) by titles rather than names.
* @@order=-title@@ Reverse alphabetical (Z to A) listing by titles rather than names.
* @@order=ctime@@ Pagelist sorted by creation time (most recently created pages last).
* @@order=-ctime@@ Pagelist in reverse order by creation time (most recently created pages first).
* @@order=time@@ Pagelist sorted by modification time (most recently changed pages last).
* @@order=-time@@ Pagelist in reverse order by modification time (most recently changed pages first).
* @@order=size@@ Pagelist sorted by page size (not file size), smallest pages first.
* @@order=-size@@ Pagelist sorted by page size, biggest pages first.
* @@order=random@@ Pagelist sorted randomly
->Note: fmt=trail results in an unordered pagelist, i.e. the trail order is preserved in the pagelist. So PmWiki's alphabetical default order does not apply in this case.
->Note: ctime is added to pages only from pmwiki 2.1.beta15 onwards, pages created by earlier versions don't carry a ctime attribute and can't be sorted that way.
!!!! Examples
Example 1: Display all pages of the current group, except this page, by time of modification, most recent first:
->[@(:pagelist group={$Group} order=-time list=normal -{$FullName}:)@]
Example 2: Displays a list of all pages with links to Pm's profiles page (i.e., pages containing [[~Pm]]. What's more, the pages are listed in reverse order by modification time (most recently changed pages first):
->[@(:pagelist link=Profiles.Pm order=-time fmt=simple:)@]
->Note that the @@link=@@ and @@order=@@ options are "expensive" in that they require a fair amount of page scanning in order to obtain their results. On the other hand, @@link=@@ and @@order=@@ are less expensive than doing full text searches, and in future versions of PmWiki they may end up being optimized even further.
!! Comments/Questions
!!! A through AZ B through BZ C through CZ titles listing
I will have a large wiki with lots of play titles. I would like to be able to have separate pagelists containing section A titles, section B titles, section C titles, etc. instead of one large alphabetical listing of titles. Is this possible with pagelist? PL 20060218
->You can use wildcards for this:
!!!A section:
[@(:pagelist group=Plays list=normal name=A* :)@]
!!!B section:
[@(:pagelist group=Plays list=normal name=B* :)@]
!!!C section:
[@(:pagelist group=Plays list=normal name=C* :)@]
etc.
!!!X Y Z section
[@(:pagelist group=Plays list=normal name=X*,Y*,Z* :)@]
%right%~''[[~HansB]]''
!!!! Searching for page names only (not content)
In a large wiki, pages are often named systematically, so I sometimes need to get a list of pages with specific name parts (the Linux [@ls *name*@] thing). I couldn't find a way to configure it (list=xxx allows so but only for predefined patterns), so I added the following code to pagelist.php (beta36) near line 111 next to the 'group' option:
if ($opt['named']) array_unshift($pats,"/({$opt['named']})/i");
Then with
[@(:pagelist named=ReleaseNotes list=normal:)@]
I get (very quick) a list of all pages containing [@"ReleaseNotes"@] in their name. Wouldn't that be worth adding to the mainline code? [[~tpahl]]
----
!!! Listing all groups except one
->[@(:pagelist group= -PmWiki:)@] will list from all groups execpt PmWiki. See [[PmWiki/Directives#pagelist]]
----
!! Question
[@(:pagelist group=Recipes list=normal apple pie:)@]
lists all pages with apple AND pie in them,
how do I get a list of all pages with apple OR pie?
!!! Answer
I would suggest use two pagelist directives:\\
[@(:pagelist group=Recipes list=normal apple :)@]\\
[@(:pagelist group=Recipes list=normal pie:)@]\\
[[~DirkBlaas]]
[[<<]]
%blue%This unfortunately list all pages that have both apple and pie on them twice.%%
[@(:pagelist group=Recipes list=normal -apple -pie:)@]
lists all pages without apple OR pie,
how do I get a list of all pages without apple AND pie in them?
----
!! How to exclude more than one group
This is possible from pmwiki 2.1.beta21 onwards using this syntax:
[@(:pagelist group=-xxx,-yyy,-zzz :)@]
(HansB gave me this hint - Thanks!)
Does this apply to the name parameter too, eg
[@(:pagelist group=TrampingReports order=-name list=normal name=-2005*,-HomePage,-Template:)@]
!! Voir aussi
* [[PmWiki.Directives#attachlist]]
!! Contributeurs
* Radu
* joachim Durchholz
* [[~HansB]]
----
Category: [[!Searching]]
%tr% Traduction de Cookbook:PageListsExplained
en:
NLWMjO http://www.FyLitCl7Pf7ojQdDUOLQOuaxTXbj5iNG.com