Extension:DynamicPageList (Wikimedia)
DynamicPageList État de la version : stable |
|
---|---|
Implémentation | Balise , Fonction d'analyseur |
Description | Affiche une liste à puces des éléments les plus récents résidant dans une catégorie ou un croisement de plusieurs catégories. |
Auteur(s) | IlyaHaykinson and Amgine |
Dernière version | Continuous updates |
Politique de compatibilité | Versions ponctuelles alignées avec MediaWiki. Le master n'est pas compatible arrière. |
MediaWiki | 1.23+ |
PHP | 5.4+ |
Modifie la base de données |
Non |
Licence | Licence publique générale GNU v2.0 ou supérieur |
Téléchargement | |
Exemple |
|
|
|
<DynamicPageList> |
|
Téléchargements trimestriels | 0 |
Traduire l’extension DynamicPageList | |
Problèmes | Tâches ouvertes · Signaler un bogue |
L'extension "DynamicPageList" permet aux utilisateurs de wiki de créer une liste de pages qui sont listées dans un ensemble de catégories. Voir m : Help : DPL pour des informations générales.
Origines du projet
Il a été initialement développé pour Wikinews. Il est actuellement installé sur la plupart des projets Wikinews (voir n:Wikinews:DynamicPageList), Meta, MediaWiki.org, Wikibooks et Wikiversity et peut être installé sur n'importe quel Wikis de petite ou moyenne taille. Il ne sera plus installé sur davantage de wiki Wikimedia à cause de problèmes de performance.
Cette extension était précédemment connue sous le nom de DynamicPageList/old et plus tard Intersection. Vous pourriez également être intéressé par DynamicPageList3 , qui a plus de fonctionnalités.
Installation et mise en oeuvre
Installation
- Téléchargez et placez le(s) fichier(s) dans un répertoire appelé
intersection
dans votre dossierextensions/
.
Les développeurs et les contributeurs au code doivent à la place installer l'extension à partir de Git en utilisant:cd extensions/
git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/intersection - Ajoutez le code suivant à la fin de votre fichier LocalSettings.php :
wfLoadExtension( 'intersection' );
- Fait – Accédez à Special:Version sur votre wiki pour vérifier que l'extension a bien été installée.
Configuration
L'extension prend également en charge quelques variables de configuration. Normalement, vous ne voudriez pas changer la valeur par défaut, mais si vous le faites, vous pouvez les ajouter à votre LocalSettings.php
après la ligne require_once
. Voici les variables de configuration prises en charge avec leurs valeurs par défaut :
# Configuration variables. Warning: These use DLP instead of DPL
# for historical reasons (pretend Dynamic list of pages)
$wgDLPmaxCategories = 6; // Maximum number of categories to look for
$wgDLPMaxResultCount = 200; // Maximum number of results to allow
$wgDLPAllowUnlimitedResults = false; // Allow unlimited results
$wgDLPAllowUnlimitedCategories = false; // Allow unlimited categories
// How long to cache pages using DPL's in seconds. Default to 1 day. Set to
// false to use the normal amount of page caching (most efficient), Set to 0 to disable
// cache altogether (inefficient, but results will never be outdated)
$wgDLPMaxCacheTime = 60*60*24; // How long to cache pages in seconds
Utilisation
DynamicPageList peut être utilisé avec une syntaxe de type XML dans la vue d'édition de wiki. Les paramètres contrôlent les pages en mode liste, ordre et affichage. Consultez les sections suivantes pour plus d'informations sur chaque paramètre. Par exemple, voici les cinq pages les plus anciennes de ce wiki qui ont été récemment déplacées sur MediaWiki.org.
<DynamicPageList> category = Pages recently transferred from Meta count = 5 order = ascending addfirstcategorydate = true </DynamicPageList>
Exemple de DynamicPageList très complexe :
<DynamicPageList> category=foo count=20 namespace=file addfirstcategorydate=ymd imagewidth=70 galleryshowfilesize=yes galleryshowfilename=yes imagesperrow=7 gallerycaption=Galleries! ordermethod=sortkey order=ascending mode=gallery offset=12 </DynamicPageList>
Répertorie les 12e à 34e pages de l'espace de noms de fichiers qui sont également dans la catégorie foo, les mettant en forme dans une galerie d'images, avec la date à laquelle ils ont été ajoutés à la catégorie foo dans la légende au format année mois jour, et ayant les images ont une largeur de 70px
Sélection du contenu
category
La category répertorie les catégories à intersecter. DynamicPageList répertorie les pages trouvées dans la catégorie "every". Un nombre minimum et maximum d'entrées à lister est défini dans le code source de l'extension. Vous pouvez utiliser magic words comme {{CURRENTMONTHNAME}}
La syntaxe est category = category name
<DynamicPageList> category = Demo category = Demo 1 </DynamicPageList>
notcategory
notcategory restreint la liste des pages à celles "not" dans une catégorie particulière. Vous pouvez utiliser magic words comme {{CURRENTMONTHNAME}} dans le nom de la catégorie.
<DynamicPageList> category = Demo notcategory = Demo 1 </DynamicPageList>
namespace
namespace restreint la liste des pages spécifiées ci-dessus à celles d'un espace de noms particulier, spécifié par nom ou numéro (voir la Liste des espaces de noms par défaut). Tout nom non valide est équivalent à l'espace de noms de l'article principal.
<DynamicPageList> category = Demo namespace = Help </DynamicPageList>
redirects
redirects détermine s'il faut inclure ou non redirect pages. La valeur peut être "exclude" (par défaut, ne listez pas les redirections), "include" (redirections de liste), ou "only" (ne listez pas les pages qui ne sont pas redirections).
<DynamicPageList> category = Demo redirects = only </DynamicPageList>
stablepages
stablepages détermine s'il faut inclure ou non des pages stables (marquées) lors de l'utilisation de Extension:FlaggedRevisions . La valeur peut être exclude (ne pas lister), include ((liste stable et non stable). par défaut), ou only (liste uniquement les pages stables). Nécessite l'installation de FlaggedRevs pour fonctionner.
count
count restreint le nombre de résultats affichés. Par défaut, les pages ajoutées à la catégorie la plus récente sont affichées (voir order). Notez que l'extension ne listera pas plus de résultats que le maximum défini dans le code source de l'extension.
<DynamicPageList> category = Demo count = 2 </DynamicPageList>
offset
offset starts the list from somewhere other than the first page on the list. For example, this can be used with count to make multi-column layouts.
For example, this can be used with count to make multi-column layouts.
<DynamicPageList> category = Demo offset = 2 </DynamicPageList>
Démonstration de colonne
<table> <tr><th colspan="3"> recent articles in [[:category:Demo|:category:Demo]]</th></tr> <tr><td> <DynamicPageList> category = Demo count=5 </DynamicPageList> </td> <td> <DynamicPageList> category = Demo offset = 5 count= 5 </DynamicPageList> </td> <td> <DynamicPageList> category = Demo offset = 10 count=5 </DynamicPageList> </td></tr></table>
Détails affichés==
affichage namespace
shownamespace affiche l'espace de noms dans les noms de page.
The value can be true
(default, display in name: Help:Contents ) or false
(don't display in name: Contents ).
<DynamicPageList> category = Demo shownamespace = false </DynamicPageList>
addfirstcategorydate
"addfirstcategorydate" indique la date à laquelle chaque article a été ajouté à la catégorie. La valeur peut être "true" (date d'affichage), "false" (par défaut, ne pas afficher la date) ou un spécificateur de date (ymd, md, dm, dmy, mdy et ISO 8601). Si de nombreuses catégories sont spécifiées, elle utilise la première catégorie. Les noms de pages liées sont précédés de la date formatée selon vos préférences d'affichage de date MediaWiki locales.
<DynamicPageList> category = Demo addfirstcategorydate = true </DynamicPageList>
mode
mode détermine le format de la liste. La valeur peut être :
- unordered — Liste à puces
- ordered — Liste numérotée
- none — liens simples avec des sauts de ligne
- gallery — galerie d'images, comme
<gallery>
- inline — Valeurs séparées par des virgules.
unordered: <DynamicPageList> category = Demo mode = unordered </DynamicPageList> ordered: <DynamicPageList> category = Demo mode = ordered </DynamicPageList> plain links: <DynamicPageList> category = Demo mode = none </DynamicPageList> inline: <DynamicPageList> category = Demo mode = inline </DynamicPageList>
mode=gallery
La galerie est un mode spécial où la sortie est une galerie d'images. Si Extension:PageImages est installé, l'image-page, si elle existe, sera utilisée pour les pages non-fichier. Dans le cas contraire, les pages d'espace de noms autres que File ne seront qu'un espace vide.
<DynamicPageList> category = Demo mode = gallery namespace= file </DynamicPageList>
Le mode Galerie prend également en charge les options imagewidth (largeur des images dans la galerie, vous devrez peut-être aussi définir hauteur d'image si vous utilisez cela), imageheight (hauteur de l'image), galleryshowfilesize (montrer la taille d'image, comme sur les pages de catégorie), galleryshowfilename (montrer le nom de fichier sur les pages de catégorie), imagesperrow' (nombre d'images par ligne dans la galerie), gallerycaption (légende pour la galerie).
Si addfirstcategorydate est utilisé, la date est ajoutée à la légende de l'image.
Note, gallerycaption at the moment cannot accept links. (but it can accept things like {{CURRENTMONTHNAME}})
Un exemple complexe de galerie pourrait être:
<DynamicPageList> count=20 namespace=file addfirstcategorydate=ymd imagewidth=70 galleryshowfilesize=yes galleryshowfilename=yes imagesperrow=7 gallerycaption=Look at my pretty gallery. mode=gallery shownamespace=false </DynamicPageList>
suppresserrors
"suppresserrors" masque les erreurs. La valeur peut être "true" (masquer les erreurs) ou "false" (par défaut, afficher les erreurs).
true: <DynamicPageList> category = Dem suppresserrors = true </DynamicPageList> false: <DynamicPageList> category = Dem suppresserrors = false </DynamicPageList>
nofollow
'nofollow' définit rel="nofollow"
sur les liens.
Cela empêche les intrus d'accéder à la page via le lien de la DynamicPageList.
En général, cela est inutile, car les intrus pourront soit indexer la page à partir d'autres liens, ou pas du tout à cause de robots.txt/$wgDefaultRobotPolicy .
En général, vous ne devriez pas utiliser cette option à moins de savoir ce que vous faites et d'avoir une bonne raison.
Le principal cas d'utilisation est que sur le Wikinews en anglais, Google News considère tout ce qui est lié depuis la page principale comme un article.
<DynamicPageList> category = Demo nofollow = true </DynamicPageList>
googlehack
C'est un piratage pour Wikinews. Auparavant, Google News considérait uniquement les articles comportant des chiffres comme des articles de presse [1], ce qui ajoute ?dpl_id=< ; id of article> ; à la fin des url de la liste. Vous ne devriez pas utiliser cette option à moins d'avoir une bonne raison de le faire (mais cela ne fera rien de mal). Cela remplace l'option showcurid qui n'est plus prise en charge.
<DynamicPageList> category = Demo googlehack = true </DynamicPageList>
Order
ordermethod
"ordermethod" détermine l'ordre et la date à afficher. La valeur peut être :
- categoryadd — par défaut, les pages de tri par date ont été classées pour la première catégorie
- lastedit — trier par date de dernière modification
- length — par longueur d'article
- created — Par date de création d'article
- categorysortkey — essentiellement ordre alphabétique par la touche de tri de la première catégorie
- sortkey — Alias pour categorysortkey .
Il faut noter, que finalement, il trie vraiment par la dernière fois que la page a été touchée.
Dans certains cas, ce n'est pas équivalent à la dernière modification (par exemple, cela inclut les modifications d'autorisation, la création ou la suppression de pages liées et la modification de modèles contenus).
Si vous ne spécifiez pas de catégorie, certaines de ces méthodes d'ordre ne fonctionneront pas ; en particulier, categoryadd et categorysortkey reviennent à created s'il n'y a pas de clause category
.
<DynamicPageList> category = Demo addfirstcategorydate = true ordermethod = lastedit </DynamicPageList>
exemple alphabétique :
<DynamicPageList> category = Demo ordermethod = sortkey </DynamicPageList>
order
"ordre" décide de la direction de tri. La valeur peut être "descendant" (par défaut, plus récent à plus ancien) ou "ascendant" (plus ancien à plus récent). The value can be descending (default, most recent to oldest) or ascending (oldest to most recent).
<DynamicPageList> category = Demo order = ascending </DynamicPageList>
Modèles
Pour utiliser un modèle et passer des paramètres, utilisez les fonctions d'analyse, etc., utilisez la fonction {{#tag :
:
{{#tag:DynamicPageList| category = {{{1}}} count = {{#if: {{{2|}}} | 10 | 20 }} ordermethod = sortkey order = ascending }}
La page de modèle elle-même affiche un message d'erreur, car la valeur de catégorie est vide sur la page de modèle, sauf si vous placez le modèle dans les balises <includeonly>
. Exemple:
Erreur : vous devez inclure au moins une catégorie ou bien préciser un espace de noms !
Extensions dérivées
- Extensions dérivées : DPLforum sorties dans le style forum Extension:GoogleNewsSitemap est comme ceci mais produit un flux RSS. DynamicPageList3 est une version modifiée avec plus de fonctionnalités, mais aussi plus cher en ressources. Aucune de ces dernières n'est utilisée sur les sites de Wikimedia.
- Extension:DynamicPageListEngine - rend les listes dynamiques de pages disponibles pour Scribunto module.
Cette extension est utilisée par au moins un des projets Wikimédia. Cela signifie probablement que l’extension est assez stable et fonctionnelle pour être utilisée sur des sites à fort trafic. Recherchez le nom de cette extension dans le CommonSettings.php de Wikimédia et dans le fichier de configuration InitialiseSettings.php pour situer les endroits où elle est installée. Une liste complète des extensions installées sur un Wiki donné peut être visualisée sur la page Special:Version de ce wiki. |
Cette extension est incluse dans les fermes de wikis ou les hôtes suivants et / ou les paquets : Cette liste ne fait pas autorité. Certaines fermes de wikis ou hôtes et / ou paquets peuvent contenir cette extension même s'ils ne sont pas listés ici. Vérifiez toujours cela avec votre ferme de wikis ou votre hôte ou votre paquet avant de confirmer. |