Erweiterung:DynamicPageList
DynamicPageList Freigabestatus: stabil |
|
---|---|
Einbindung | Tag , Parser-Funktion |
Beschreibung | Gibt eine Liste mit Aufzählungszeichen der neuesten Elemente, die sich in einer Kategorie befinden, oder einen Schnittpunkt mehrerer Kategorien aus. |
Autor(en) | IlyaHaykinson and Amgine |
Letzte Version | Continuous updates |
Kompatibilitätspolitik | Snapshots werden zusammen mit MediaWiki veröffentlicht. Der Master ist nicht abwärtskompatibel. |
MediaWiki | 1.23+ |
PHP | 5.4+ |
Datenbankänderungen | Nein |
Lizenz | GNU General Public License 2.0 oder neuer |
Herunterladen | |
Beispiel |
|
|
|
<DynamicPageList> |
|
Quarterly downloads | 0 |
Übersetze die DynamicPageList-Erweiterung | |
Probleme | Offene Aufgaben · Einen Fehler melden |
Mit der Erweiterung "DynamicPageList" können Wiki-Benutzer eine Liste von Seiten erstellen, die in einer Reihe von Kategorien gelistet sind.
Ursprung
Sie wurde ursprünglich für Wikinews entwickelt. Sie ist derzeit auf den meisten Sprach-Wikinews-Projekten (siehe n:Wikinews:DynamicPageList), Meta, MediaWiki.org und ein paar anderen kleinen Projekten installiert. Sie wird aufgrund von Leistungsproblemen nicht mehr auf Wikimedia-Wikis installiert werden.
Diese Erweiterung war früher als DynamicPageList/old und später als Intersection bekannt. Möglicherweise bist du auch an DynamicPageList3 interessiert, das mehr Funktionen hat.
Installation und Setup
Installation
- Die Erweiterung herunterladen und die Datei(en) in ein Verzeichnis namens
intersection
im Ordnerextensions/
ablegen.
Entwickler und Code-Beitragende sollten stattdessen die Erweiterung von Git installieren, mit:cd extensions/
git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/intersection - Folgenden Code am Ende deiner LocalSettings.php -Datei einfügen:
wfLoadExtension( 'intersection' );
- Erledigt – Navigiere zu Special:Version in deinem Wiki, um zu überprüfen, ob die Erweiterung erfolgreich installiert wurde.
Konfiguration
Die Erweiterung unterstützt auch einige Konfigurationsvariablen. Normalerweise wirst Du die Standardeinstellung nicht ändern wollen, aber wenn Du dies tust, kannst Du sie nach der require_once
-Zeile zu Deiner LocalSettings.php
hinzufügen. Hier sind die unterstützten Konfigurationsvariablen mit ihren Standardwerten:
# 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
Verwendung
DynamicPageList kann in der Wiki-Bearbeitungsansicht mit XML-ähnlicher Syntax verwendet werden. Die Parameter steuern den Listen-, Ordnungs- und Anzeigemodus der Seiten. In den folgenden Abschnitten findest Du Informationen zu den einzelnen Parametern. Nachfolgend sind zum Beispiel die ältesten fünf Seiten in diesem Wiki, die kürzlich nach MediaWiki.org verschoben wurden.
<DynamicPageList> category = Pages recently transferred from Meta count = 5 order = ascending addfirstcategorydate = true </DynamicPageList>
Beispiel für eine besonders komplexe DynamicPageList:
<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>
Listet die 12. bis 31. Seiten im Dateinamensraum auf, die sich auch in der Kategorie foo befinden, und formatiert sie zu einer Bildergalerie, wobei das Datum, an dem sie der Kategorie foo hinzugefügt wurden, in der Überschrift im Format Jahr, Monat und Tag erscheint und die Bilder eine Breite von 70px haben.
Seitenauswahl
category
Der Parameter category listet Kategorien auf, die sich überschneiden sollen. DynamicPageList listet Seiten auf, die in allen aufgelisteten Kategorie gefunden wurden. Eine minimale und maximale Anzahl der aufzulistenden Einträge wird im Quellcode der Erweiterung festgelegt. Du kannst magic words wie {{CURRENTMONTHNAME}} im Kategorienamen verwenden.
Die Syntax ist category="Kategoriename"
<DynamicPageList> category = Demo category = Demo 1 </DynamicPageList>
notcategory
notcategory beschränkt die Liste der Seiten auf diejenigen, die nicht in einer bestimmten Kategorie einsortiert sind. Du kannst notcategory wie $3 im Kategorienamen verwenden.
<DynamicPageList> category = Demo notcategory = Demo 1 </DynamicPageList>
namespace
Der Parameter namespace schränkt die Liste der oben angegebenen Seiten auf die in einem bestimmten Namensraum angegebenen Seiten ein (siehe Liste der Standard Namensräume). Jeder ungültige Name entspricht dem Namensraum des Hauptartikels.
<DynamicPageList> category = Demo namespace = Help </DynamicPageList>
redirects
redirects legt fest, ob Weiterleitung von Seiten eingefügt werden soll. Der Wert kann exclude (Standardeinstellung: keine Weiterleitungen auflisten), include (Weiterleitungen auflisten) oder only (keine Seiten auflisten, die keine Weiterleitungen sind) sein.
<DynamicPageList> category = Demo redirects = only </DynamicPageList>
stablepages
stablepages legt fest, ob stabile (markierte) Seiten bei Verwendung von Extension:FlaggedRevisions einbezogen werden sollen. Der Wert kann exclude (nicht auflisten), include (stabile und nicht stabile Seiten auflisten) oder only (nur stabile Seiten auflisten) sein. Erfordert, dass FlaggedRevs installiert ist, um zu funktionieren.
count
count schränkt die Anzahl der angezeigten Ergebnisse ein. Standardmäßig werden die der zuletzt hinzugefügten Kategorie hinzugefügten Seiten angezeigt (siehe order). Beachte, dass die Erweiterung nicht mehr Ergebnisse, als die im Quellcode der Erweiterung definierte maximalen Anzahl der Seiten auflistet.
<DynamicPageList> category = Demo count = 2 </DynamicPageList>
offset
Mit offset beginnt die Liste an einer anderen Stelle als mit der ersten Seite der Liste. Dies kann zum Beispiel mit count verwendet werden, um mehrspaltige Layouts zu erstellen.
<DynamicPageList> category = Demo offset = 2 </DynamicPageList>
Spalten-Beispiel
<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>
Anzeige von detaillierten Informationen
Parameter: shownamespace
shownamespace zeigt den Namespace in den Seitennamen an.
Der Wert kann true
(Standard, Anzeige im Namen: Help:Contents ) oder false
(keine Anzeige im Namen: Contents ) sein.
<DynamicPageList> category = Demo shownamespace = false </DynamicPageList>
Parameter: addfirstcategorydate
addfirstcategorydate zeigt das Datum an, an dem ein Artikel zur Kategorie hinzugefügt wurde. Der Wert kann "true" (Datum anzeigen), "false" (Standardeinstellung: Datum nicht anzeigen) oder eine Datumsbezeichnung (ymd, md, dm, dmy, mdy und ISO 8601) sein. Wenn viele Kategorien angegeben sind, wird die erste Kategorie verwendet. Den verlinkten Seitennamen wird das Datum vorangestellt, das gemäß Deinen lokalen MediaWiki-Einstellungen für die Datumsanzeige formatiert ist.
<DynamicPageList> category = Demo addfirstcategorydate = true </DynamicPageList>
Parameter: mode
Für mode (Ausgabemodus)' ist einer der folgenden Parameter möglich:
- unordered — Liste mit Aufzählungszeichen
- ordered — Liste mit Nummerierung
- none — Einfache Links mit Zeilenumbruch
- gallery — Bildergallerie, wie
<gallery>
- inline — Liste, mit Kommata getrennt
unordered: <DynamicPageList> category = Demo mode = unordered </DynamicPageList> Bestellt <DynamicPageList> category = Demo mode = ordered </DynamicPageList> Einfache Links: <DynamicPageList> category = Demo mode = none </DynamicPageList> Inline: <DynamicPageList> category = Demo mode = inline </DynamicPageList>
mode=gallery
Galerie ist ein spezieller Modus, bei dem die Ausgabe eine Bildergalerie ist. Wenn Erweiterung:PageImages installiert ist, wird das Seiten-Image, falls vorhanden, für Nicht-Datei-Seiten verwendet. Andernfalls sind Seiten, die nicht zum Dateinamensraum gehören, nur ein Leerzeichen.
<DynamicPageList> category = Demo mode = gallery namespace= file </DynamicPageList>
Der gallery-Modus unterstützt auch die Optionen imagewidth (wie breit die Bilder in der Galerie sein sollen: möglicherweise musst Du hierbei auch die Bildhöhe (imageheight) festlegen), imageheight (Bildhöhe: wie hoch das Bild sein sollte) galleryshowfilesize (Bildgröße anzeigen, wie auf Kategorieseiten), galleryshowfilename (Dateinamen anzeigen, wie auf Kategorieseiten), imagesperrow (Anzahl der Bilder pro Zeile in der Galerie), gallerycaption (Bildunterschrift für die Galerie).
"addfirstcategorydate" zeigt das Datum an, an dem der Artikel zu der ersten in der DPL-Schleife genannten Kategorie hinzugefügt wurde.
Hinweis: gallerycaption akzeptiert derzeit keine Links. (Aber Angaben wie {{CURRENTMONTHNAME}} sind zulässig.)
Ein komplexes Beispiel für eine gallery kann wie folgt aussehen:
<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>
Parameter: suppresserrors
suppresserrors erlaubt beim Wert "true" die Unterdrückung von Fehlermeldungen. Der Wert "false" (Grundeinstellung) erlaubt die Anzeige von Fehlermeldungen.
true: <DynamicPageList> category = Dem suppresserrors = true </DynamicPageList> false: <DynamicPageList> category = Dem suppresserrors = false </DynamicPageList>
nofollow
nofollow setzt rel="nofollow"
auf die Links.
Dadurch wird verhindert, dass Suchmaschinen/Robots über den Link von DynamicPageList auf die Seite gelangen.
Im Allgemeinen ist dies nutzlos, da Suchmaschinen die Seite von anderen Links aus entweder indizieren können oder aufgrund von robots.txt/$wgDefaultRobotPolicy es nicht tun.
Im Allgemeinen solltest Du diese Option nur verwenden, wenn Du weißt, was Du tust, und wenn Du einen guten Grund dafür hast.
Der Hauptnutzen besteht darin, dass Google News in den englischen Wikinews alles, was von der Hauptseite verlinkt wird, sonst als Artikel ansieht.
<DynamicPageList> category = Demo nofollow = true </DynamicPageList>
Googlespezifische Modifikation
Dies ist ein Modifikation für Wikinews. In früheren Versionen von Google News wurden nur Artikel mit darin enthaltenen Nummern als Nachrichtenartikel betrachtet [1], daher wird ?dpl_id=<id of article> an das Ende der URLs auf der Liste angehängt. Du solltest diese Option nur verwenden, wenn Du einen guten Grund dafür hast (es schadet jedoch nicht). Dies ersetzt die Option "showcurid", die nicht mehr unterstützt wird.
<DynamicPageList> category = Demo googlehack = true </DynamicPageList>
Parameter: order
ordermethod
ordermethod legt fest, in welcher Reihenfolge und nach welchem Datum die Darstellung der Liste erfolgt. Folgende Werte sind möglich:
- categoryadd — default, Sortierung nach Datum, die Seiten wurden nach der ersten Kategorie kategorisiert
- lastedit — Seiten nach Datum sortiert, zuletzt bearbeitet
- length — Nach Länge des Artikels
- created — Nach Erstellungsdatum des Artikels
- categorysortkey — im Wesentlichen in alphabetischer Reihenfolge nach dem Sortierschlüssel der ersten Kategorie
- sortkey — Alias von categorysortkey
Es sollte betont werden, dass lastedit wirklich nach dem letzten Zugriff auf die Seite sortiert ist.
In einigen Fällen entspricht dies nicht der letzten Bearbeitung (z. B. umfasst dies die Änderung der Berechtigungen, die Erstellung oder Löschung verlinkter Seiten und die Änderung der enthaltenen Vorlagen).
Wenn Sie keine Kategorie angeben, funktionieren einige dieser Ordnungsmethoden nicht — insbesondere categoryadd und categorysortkey greifen auf created zurück, wenn es keine category
-Klausel gibt.
<DynamicPageList> category = Demo addfirstcategorydate = true ordermethod = lastedit </DynamicPageList>
Alphabetisches Beispiel:
<DynamicPageList> category = Demo ordermethod = sortkey </DynamicPageList>
order
order kann einer der beiden folgenden Parameter sein. The value can be descending (default, most recent to oldest) or ascending (oldest to most recent).
<DynamicPageList> category = Demo order = ascending </DynamicPageList>
Vorlagen
Für die Verwendung innerhalb einer Vorlage und die Übergabe von Parametern, die Verwendung von Parserfunktionen usw. verwenden Sie die Funktion {{#tag:
:
{{#tag:DynamicPageList| category = {{{1}}} count = {{#if: {{{2|}}} | 10 | 20 }} ordermethod = sortkey order = ascending }}
Auf der Vorlagenseite selbst wird eine Fehlermeldung angezeigt, da der Kategoriewert auf der Vorlagenseite leer ist, sofern Du die Vorlage nicht in die Tags <includeonly>
einfügst.
Beispiel:
Fehler: Es muss mindestens eine Kategorie eingebunden oder ein Namensraum angegeben werden.
Abgeleitete Erweiterungen
- Derived extensions: DPLforum outputs in forum style. Extension:GoogleNewsSitemap is like this but outputs an RSS feed. DynamicPageList3 is a modified version with more features, but also more resource-expensive. It is not used on Wikimedia's sites.
- Erweiterung:DynamicPageListEngine - makes dynamic page lists available to Scribunto modules.
Diese Erweiterung wird in einem oder mehreren Wikis von Wikimedia verwendet. Das bedeutet mit hoher Wahrscheinlichkeit, dass die Erweiterung stabil ist und gut genug funktioniert, um auf solch häufig besuchten Webseiten benutzt zu werden. Suche nach dem Erweiterungs-Namen in den Wikimedia CommonSettings.php und den InitialiseSettings.php-Konfigurations-Dateien, um nachzusehen, wo es installiert ist. Eine vollständige Liste der installierten Erweiterungen in einem bestimmten Wiki wird auf Special:Version im Wiki generiert und angezeigt. |
Diese Erweiterung ist in den folgenden Softwarepaketen enthalten und/oder wird von den folgenden Wiki-Farmen, bzw. Wiki-Hostern verwendet: Dies ist keine maßgebliche Liste. Softwarepakete und/oder Wiki-Farmen, bzw. Wiki-Hoster nutzen diese Erweiterung ggf., obwohl sie nicht in dieser Liste enthalten sind. Prüfe daher stets die Nutzung im verwendeten Softwarepaket und/oder bei der Wiki-Farm, bzw. dem Wiki-Hoster. |