Open main menu

Erweiterung:DynamicPageList (Wikimedia)

This page is a translated version of the page Extension:DynamicPageList (Wikimedia) and the translation is 71% complete.

Outdated translations are marked like this.
Other languages:
Deutsch • ‎English • ‎español • ‎português do Brasil • ‎中文 • ‎日本語
MediaWiki-Erweiterungen
OOjs UI icon advanced.svg
DynamicPageList
Erscheinungsstatus: stabil
DynamicPageList extension example.PNG
Einbindung Tag , Parser function
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
MediaWiki 1.23+
PHP 5.4+
Datenbankänderungen Nein
Lizenz GNU General Public License 2.0 or later
Herunterladen
Beispiel
<DynamicPageList>
Übersetze die DynamicPageList (Wikimedia) Erweiterung
Prüfe die Benutzungs- und Versionsmatrix.
Probleme Offene Aufgaben · (Wikimedia) Einen Fehler melden
Diese Erweiterung wird von Wikimedia verwendet. Bitte nicht verwechseln mit der Erweiterung Extension:DynamicPageList (third-party) oder Extension:DynamicPageList3 .

Mit der Erweiterung "DynamicPageList" können Wiki-Benutzer eine Liste von Seiten erstellen, die in einer Reihe von Kategorien gelistet sind. Allgemeine Informationen findest Du unter Handbuch:Hilfe:DPL.

Ursprung

Es wurde ursprünglich für Wikinews entwickelt. Es ist derzeit in allen Wikinews-Projekten installiert (siehe n: Wikinews: DynamicPageList), Meta, Wikibooks und Wikiversity und kann in allen kleinen und mittleren Wikis installiert werden. Skalierbarkeitsprobleme mit sehr großen Wikis sind bekannt.

Diese Erweiterung war früher als DynamicPageList/old und später als Intersection bekannt. Möglicherweise interessierst Du Dich auch für die DynamicPageList von einem Drittanbieter, die über weitere Funktionen verfügt.

Installation und Setup

Installation

  • Füge folgenden Code am Ende deiner LocalSettings.php hinzu:
    wfLoadExtension( 'intersection' );
    
  •   Erledigt – Navigiere zu Special:Version in deinem Wiki (bei Einstellung auf deutsch nach Spezial:Version), um zu prüfen, dass die Erweiterung erfolgreich installiert ist.

An Nutzer, die MediaWiki 1.27 und früher betreiben:

Die oben stehenden Anweisungen beschreiben die neue Installationsanweisung für diese Erweiterung unter Verwendung von wfLoadExtension(). Falls du diese Erweiterung in einer dieser früheren Versionen (MediaWiki 1.27 und früher)  – an Stelle von wfLoadExtension( 'intersection' ); – installieren musst, benutze:

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

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 34. Seite im Dateinamensraum auf, die sich ebenfalls in der Kategorie foo befinden, und formatiert sie in eine Bildergalerie mit dem Datum, an dem sie der Kategorie foo in der Beschriftung im Format Jahr, Monat, Tag hinzugefügt wurden, und zwar mit einer Bildbreite von 70px

Seitenauswahl

Parameter: category

Der Parameter categories 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>

Parameter: notcategory

notcategory beschränkt die Liste der Seiten auf diejenigen, die nicht in einer bestimmten Kategorie einsortiert sind. Du kannst magic words wie {{CURRENTMONTHNAME}} im Kategorienamen verwenden.

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

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

Parameter: 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 (Stabile Seiten)

stablepages legt fest, ob stabile (markierte) Seiten bei Verwendung von Erweiterung:FlaggedRevisions einbezogen werden sollen. Der Wert kann "ausschließen" (nicht auflisten), "einschließen" (stabile und nicht stabile Seiten auflisten) oder "nur" (nur stabile Seiten auflisten) sein. Erfordert, dass FlaggedRevs installiert ist, um zu funktionieren.

qualitypages (Qualitätsseiten)

qualitypages legt fest, ob bei Verwendung von Erweiterung: FlaggedRevisions Qualitätsseiten (gekennzeichnet auf der Ebene 'Pristine') einbezogen werden sollen. Der Wert kann "exclude" (nicht auflisten), "include" (sowohl Qualitätsseiten als auch Nichtqualitätsseiten auflisten) oder "only" (nur Qualitätsseiten) sein.

Hinweis: Die Auswirkung von qualitypages wurde gegenüber älteren Versionen geändert. In älteren Versionen wird qualitypages=exclude automatisch in stablepages=only umgewandelt. Dies erfolgt nicht mehr.

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

In shownamespace verhindert der Parameter "false" die Ausgabe der Namensraum-Bezeichnung. Wenn der Parameter "true" angegeben ist (Grundeinstellung), wird sie angezeigt.

<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 — ungeordnete Liste mit Aufzählungszeichen
  • ordered — gibt eine nummerierte Liste aus
  • none — gibt eine unnummerierte Liste ohne Aufzählungszeichen aus, die einfach nach einem Titel eine neue Zeile erzeugt
  • gallery —Bildergalerie, entsprechend <gallery>
  • inline — mittels Kommata getrennte Liste
  • unordered — bulleted list
  • ordered — numbered list
  • none — plain links with line breaks
  • gallery — image gallery, like <gallery>
  • inline — comma separated list
unordered:
<DynamicPageList>
category = Demo
mode     = unordered
</DynamicPageList>

ordered:

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

Einfache Links:

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

Inline:

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

"gallery" ist ein spezieller Modus, in dem die Ausgabe eine Bildergalerie ist. Wenn Du diesen Modus verwendest, möchtest Du normalerweise die Bezeichnung auf die Bildbreite beschränken.

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

Parameter: ordermethod

ordermethod legt fest, in welcher Reihenfolge und nach welchem Datum die Darstellung der Liste erfolgt. Folgende Werte sind möglich:

  • categoryadd — (Grundeinstellung), nach dem Datum, an dem Seiten in die erste Kategorie einsortiert wurden
  • lastedit — nach dem Datum der letzten Bearbeitung
  • length — nach Artikellänge
  • created — nach Erstelldatum
  • categorysortkey — im Wesentlichen in alphabetische Reihenfolge nach dem Sortierschlüssel der ersten Kategorie
  • sortkey — alias von categorysortkey
  • popularity — nach der Anzahl der Aufrufe
  • categoryadd — default, sort by date pages were categorised for first category
  • lastedit — sort by date pages were last edited
  • length — by article length
  • created — by article creation date
  • categorysortkey — essentially alphabetical order by the sort key of the first category
  • sortkey — alias of categorysortkey
  • popularity — by number of hits

It should be noted, that lastedit really sorts by the last time the page was touched. In some cases this is not equivalent to the last edit (for example, this includes permission changes, creation or deletion of linked pages, and alteration of contained templates). popularity is only enabled on wikis that have $wgDisableCounters set to false. As such it will not work on Wikimedia wikis. If you do not specify a category, some of these order methods will not work—specifically, categoryadd and categorysortkey fallback to created if there is no category clause.

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

  • descending (absteigend); sortiert die Liste vom jüngsten zum ältesten Datum (Grundeinstellung)
  • ascending (aufsteigend); gibt die Liste in umgekehrter Reihenfolge vom ältesten zum neuesten Eintrag aus.
<DynamicPageList>
category  = Demo
order     = ascending
</DynamicPageList>

Vorlagen

Bei Verwendung innerhalb einer Vorlage und zur Übergabe von Parametern benutzt Du Parserfunktionen usw., benutze 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