Jump to content

Extension:DynamicPageList

From mediawiki.org
This page is a translated version of the page Extension:DynamicPageList and the translation is 69% complete.
Outdated translations are marked like this.
Cette extension est utilisée par Wikimedia. Pour les fork de cette extension c'est à dire les branches qui ne relèvent pas de la WMF, voir Extension:DynamicPageList (homonymie) .
Manuel des extensions MediaWiki
DynamicPageList
État de la version : stable
Implémentation Balise , Fonction d'analyseur
Description Affiche une liste à puces des éléments les plus récents de la catégorie ou l'intersection de plusieurs catégories.
Auteur(s) IlyaHaykinson & 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
  • $wgDLPmaxCategories
  • $wgDLPMaxCacheTime
  • $wgDLPAllowUnlimitedResults
  • $wgDLPAllowUnlimitedCategories
  • $wgDLPQueryCacheTime
  • $wgDLPMaxResultCount
  • $wgDLPMaxQueryTime
‎<DynamicPageList>
Licence Licence publique générale GNU v2.0 ou ultérieur
Téléchargement
Exemple
Traduire l’extension DynamicPageList
Problèmes Tâches ouvertes · Signaler un bogue

L'extension DynamicPageList permet aux utilisateurs du wiki de créer une liste de pages qui sont listées dans un ensemble de catégories.

Origines du projet

Il a été initialement développé pour Wikinews. Il est actuellement installé sur la plupart des projets Wikinews (voir DynamicPageList), Meta, MediaWiki.org, et quelques autres petits projets. Il ne sera plus installé sur d'autres wikis Wikimedia à cause des 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 DynamicPageList4 , 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 dossier extensions/.
    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' );
    
  • Yes 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 wfLoadExtension( 'intersection' ). Voici les variables de configuration prises en charge avec leurs valeurs par défaut :

# variables de configuration. Attention: elles utilisent DLP au lieu de DPL
# pour des raisons historiques (supposé pour la liste dynamique des pages)
$wgDLPmaxCategories = 6;                // nombre maximum de catégories à chercher
$wgDLPMaxResultCount = 200;             // nombre maximum de résultats autorisés
$wgDLPAllowUnlimitedResults = false;    // résultats illimités
$wgDLPAllowUnlimitedCategories = false; // catégories illimitées
// pages en cache en utilisant DPL en secondes. Par défaut 1 jour. 
// false utilise le quota normal du cache des pages (plus efficace) 
// 0 désactive le cache (peu efficace mais les résultats sont toujours actuels)
$wgDLPMaxCacheTime = 60*60*24;          // Durée des pages en cache (secondes)

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 DynamicPageList très complexe :

<DynamicPageList>
category=foo
count=20
namespace=file,main
addfirstcategorydate=ymd
imagewidth=70
galleryshowfilesize=yes
galleryshowfilename=yes
imagesperrow=7
gallerycaption=Galleries!
ordermethod=sortkey
order=ascending
mode=gallery
offset=12
</DynamicPageList>

Répertorie les pages de la 12e à 31e de l'espace de noms des fichiers qui sont également dans la catégorie foo, en les mettant en forme dans une galerie d'images avec la date à laquelle elles ont été ajoutées dans la catégorie foo dans la légende au format année mois jour, et pour lesquelles les images ont une largeur de 70 pixels

Sélection des pages

category

category liste les catégories dont on veut l'intersection. DynamicPageList liste les pages trouvées dans chaque catégorie listée. Un nombre minimum et maximum d'entrées à lister est défini dans le code source de l'extension. Vous pouvez utiliser des mots magiques comme $3 dans le nom de la catégorie. DynamicPageList will list pages that are found in every category listed. A minimum and maximum number of entries to list is set in the extension's source code. You may use magic words like {{CURRENTMONTHNAME}} in the category name.

La syntaxe est category = category name

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

notcategory

notcategory restreint la liste des pages à celles qui ne sont pas dans une catégorie particulière. Vous pouvez utiliser des mots magiques comme $2 dans le nom de la catégorie. You can use magic words like {{CURRENTMONTHNAME}} in the category name.

<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 son nom ou son numéro (voir la Liste des espaces de noms par défaut). Tout nom qui n'est pas valide est équivalent à l'espace de noms de l'article principal.

<DynamicPageList>
category  = Demo
namespace = Help, user, main
</DynamicPageList>

redirects

redirects détermine s'il faut ou non inclure les pages de redirection. La valeur peut être $1 (par défaut, on ne liste pas les redirections), $2 (les redirections sont listées), ou $3 (ne pas lister les pages qui ne sont pas des redirections).

  • excludedefault, don't list redirects
  • includelist redirects
  • onlydon't list pages that aren't redirects
<DynamicPageList>
category  = Demo
redirects = only
</DynamicPageList>

stablepages

stablepages détermine s'il faut inclure ou non les pages stables (marquées) lors de l'utilisation de Extension:FlaggedRevisions . La valeur peut être $1 (ne pas lister), $2 (lister les stables et les non stables — c'est la valeur par défaut), ou $3 (lister uniquement les stables). Nécessite l'installation de FlaggedRevs pour fonctionner.

  • excludedon't list
  • includelist stable and non-stable. default
  • onlyonly list stable pages

Requires FlaggedRevs to be installed to work.

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. By default, the pages added to the category most recently are shown (see order). Note that the extension will not list more results than the maximum defined in the extension source code.

<DynamicPageList>
category = Demo
count    = 2
</DynamicPageList>

offset

offset commence la liste à un endroit différent de la première page de la liste. Par exemple ceci peut être utilisé avec count pour créer des affichages sur plusieurs colonnes.

<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

shownamespace

shownamespace affiche l'espace de noms dans les noms de page. La valeur peut être true (par défault, on affiche l'espace de noms dans le nom : Help:Contents ) ou false (l'espace de noms n'apparaît pas : 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. The value can be true (display date), false (default, don't display date), or a date specifier (ymd, md, dm, dmy, mdy, and ISO 8601). If many categories are specified, it uses the first category. The linked page names are prepended with the date formatted according to your local MediaWiki date display preferences.

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

none:

<DynamicPageList>
category = Demo
mode     = none
</DynamicPageList>

inline:

<DynamicPageList>
category = Demo
mode     = inline
</DynamicPageList>
mode=gallery

gallery est un mode spécial où la sortie est une galerie d'images. Si Extension:PageImages est installé, l'image de la page si elle existe, sera utilisée pour les pages qui ne sont pas dans File: . Dans le cas contraire, les pages des espace de noms autres que File: ne seront qu'un espace vide.

<DynamicPageList>
category = Demo
mode     = gallery
namespace= file
</DynamicPageList>

Le mode gallery prend également en charge les options $1 (largeur des images dans la galerie, vous devrez peut-être aussi définir hauteur d'image si vous utilisez cela), $2 (hauteur de l'image), $3 (montrer la taille d'image, comme sur les pages de catégorie), $4 (montrer le nom de fichier sur les pages de catégorie), $5 (nombre d'images par ligne dans la galerie), $6 (légende pour la galerie).

  • imagewidthhow wide the images should be in gallery, you may need to also set imageheight if using this
  • imageheighthow high the image should be
  • galleryshowfilesizeshow the image size, like on category pages
  • galleryshowfilenameshow filename like on category pages
  • imagesperrownumber of images per row in gallery
  • gallerycaptioncaption for gallery

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 $2 (masquer les erreurs) ou $3 (par défaut, afficher les erreurs). The value can be true (hide errors) or false (default, show errors).

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 devez 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 ajout pour Wikinews. Auparavant, Google News considérait uniquement les articles comportant des chiffres comme des articles de presse [1], donc ceci ajoute ?dpl_id=<id of article> à la fin des URL de la liste. Vous ne devez 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 les pages par date de dernière modification
  • length – par longueur d'article
  • created – par date de création d'article
  • categorysortkey – essentiellement par ordre alphabétique à l'aide de la clé de tri de la première catégorie
  • sortkey – alias de categorysortkey

Il faut noter que lastedit trie réellement en fonctions de la dernière fois où 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 se replient sur 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

order indique le sens du tri. La valeur peut être descending (par défaut, du plus récent au plus ancien) ou ascending (du plus ancien au plus récent).

<DynamicPageList>
category  = Demo
order     = ascending
</DynamicPageList>

Modèles

A utiliser dans un modèle en passant les paramètres, utiliser les fonctions d'analyse, etc., utiliser 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 encadrez le modèle avec des balises ‎<includeonly>. Exemple :

Erreur : vous devez inclure au moins une catégorie ou bien préciser un espace de noms !

Extensions dérivées