Extension:DynamicPageList (Wikimedia)

This page is a translated version of the page Extension:DynamicPageList (Wikimedia) and the translation is 100% complete.
Manuel des extensions MediaWiki
OOjs UI icon advanced-invert.svg
DynamicPageList
État de la version : stable
DynamicPageList extension example.PNG
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+
Modifications de
la base de données
Non
Licence Licence publique générale GNU v2.0 ou supérieur
Téléchargement
Exemple
‎<DynamicPageList>
Traduire l’extension DynamicPageList (Wikimedia)

Vérifier la matrice des utilisations et des versions.

Problèmes Tâches ouvertes · (Wikimedia) Signaler un bogue
Cette extension est utilisée par Wikimedia, pour ne pas être confondu avec les Extension:DynamicPageList (third-party) ou Extension:DynamicPageList3 .

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 tous les projets Wikinews en langues (voir n : Wikinews:DynamicPageList), Meta, MediaWiki.org, Wikibooks et Wikiversity et peut être installé sur n'importe quel Wikis de petite ou moyenne taille (On sait qu'il a des problèmes d'évolutivité avec de très grands wikis).

Cette extension était précédemment connue sous le nom de DynamicPageList/old et plus tard Intersection. Vous pourriez également être intéressé par le tiers DynamicPageList, qui a plus de fonctionnalités.

Installation et mise en oeuvre

Installation

  • Téléchargez et placez le(s) fichiers (s) dans un répertoire appelé intersection dans votre dossier extensions/.
  • 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.

Pour les utilisateurs de MediaWiki 1.27 ou précédents :

Les instructions ci-dessus décrivent la nouvelle procédure pour installer cette extension en utilisant wfLoadExtension(). Si vous avez besoin d'installer cette extension sur les précédentes versions de MediaWiki (1.27 ou antérieur), à la place de wfLoadExtension( 'intersection' );, vous devez utiliser :

require_once "$IP/extensions/intersection/intersection.php";

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

Catégorie

La catégorie 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 <code>category = ''category name''</code> <pre> <DynamicPageList> category = Demo category = Demo 1 </DynamicPageList> </pre> ====Pas de catégorie==== "notcategory" restreint la liste des pages à celles "not" dans une catégorie particulière. Vous pouvez utiliser [[Special : MyLanguage/Help : Magic word|magic words]] comme <nowiki>{{CURRENTMONTHNAME}} dans le nom de la catégorie.

<DynamicPageList>
category    = Demo
notcategory = Demo 1
</DynamicPageList>

Espaces de noms

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>

Redirections

redirection détermine s'il faut inclure ou non redirect pages. La valeur peut être "exclu" (par défaut, ne listez pas les redirections), "inclusion" (redirections de liste), ou "seulement" (ne listez pas les pages qui ne sont pas redirections).

<DynamicPageList>
category  = Demo
redirects = only
</DynamicPageList>

pages stables

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 uniquement (liste uniquement les pages stables). Nécessite l'installation de FlaggedRevs pour fonctionner.

qualitypages

qualitypages détermine s'il faut inclure ou non des pages de qualité (avec indicateur au niveau 'immaculé') lors de l'utilisation de Extension : FlaggedRevisions. La valeur peut être "exclude" (ne pas lister), "include" (lister la qualité et non la qualité) ou "only" (lister uniquement les pages qualité).

Remarque : le comportement de qualitypages a changé par rapport aux versions antérieures. Dans les versions plus anciennes qualitypages=exclude automatiquement fait stablepages=only être défini. Ce n'est plus le cas.

comptage

'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.

<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. La valeur peut être "true" (par défaut, afficher dans le nom : Help : Contents) ou false (ne pas afficher dans le nom : Contenu).

<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 "largeur d'image" (largeur des images dans la galerie, vous devrez peut-être aussi définir hauteur d'image si vous utilisez cela), "hauteur d'image" (hauteur de l'image), "taille d'image" (montrer la taille d'image, comme sur les pages de catégorie), "nom de fichier galleryshow" (montrer le nom de fichier sur les pages de catégorie), "image" row (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=&lt ; id of article&gt ; à 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).

<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 préciser un espace de noms !

Extensions dérivées