Zum Inhalt springen

MediaWiki DynamicPageList (intersection) - Dynamische Listen („10 neueste Artikel")

Aus LHlab Wiki

Die MediaWiki Extension DynamicPageList (intersection) erstellt dynamische Listen von Seiten nach Regeln (Namespace, Kategorien, Sortierung). Perfekt für Startseiten-Widgets wie „Neueste Artikel“, „Zuletzt geänderte Seiten“ – oder „10 neueste Artikel“.

Voraussetzungen

  • MediaWiki 1.43+
  • Erweiterung DynamicPageList (intersection) installiert und geladen
  • Bearbeitung von Wikitext (Seiteninhalt), z. B. auf der Startseite

Installation & Aktivierung

In LocalSettings.php (abhängig vom Paketnamen deiner Distribution):

// Meistens so benannt:
wfLoadExtension( 'intersection' );

// Falls dein Paket die Registrierung "DynamicPageList" nutzt, dann:
// wfLoadExtension( 'DynamicPageList' );

Grundprinzip

Du nutzt den Tag <DynamicPageList>...</DynamicPageList> und gibst Parameter je Zeile an, z. B.:

  • namespace= – auf einen Namensraum filtern (z. B. Main für Artikel)
  • category= – auf eine Kategorie filtern (mehrfach möglich)
  • count= – Anzahl der Einträge (z. B. 10)
  • ordermethod= – Sortierung, z. B. lastedit
  • order=ascending oder descending

Beispiel: „10 neueste Artikel“ auf der Startseite

Füge folgenden Block in die Startseite (oder eine andere Seite) ein:

== Neueste Artikel ==

<dynamicpagelist>
count = 10
ordermethod = created
order = descending
mode = unordered
namespace=Main
</dynamicpagelist>

Hinweise

  • namespace=Main listet Seiten im Hauptnamensraum (Artikel).
  • ordermethod=created sortiert nach letzter Erstellung (praktisch ≈ „neueste“ Inhalte).
  • Optional: ordermethod=lastedit sortiert nach letzter Bearbeitung (praktisch ≈ „neueste“ Inhalte).

Alternative: Exakt „neu angelegte“ Seiten

Wenn du wirklich nach Erstellungsdatum sortieren willst, nutze die eingebaute Spezialseite:

== Neu angelegte Artikel ==

{{Special:NewPages/10}}

(Diese Variante nutzt keine DPL-Syntax, sondern die Spezialseite – zeigt aber nicht nur eine Liste an, sondern auch Details zu Änderungen.

Weitere Beispiele

1) Letzte 15 Seiten in Kategorie „Blog“

<DynamicPageList>
category=Linux
count=15
ordermethod=lastedit
order=descending
</DynamicPageList>

2) Letzte 20 Seiten in zwei Kategorien (Schnittmenge)

<DynamicPageList>
category=Linux
category=Shelly
count=20
ordermethod=lastedit
order=descending
</DynamicPageList>

Tipps & Fehlersuche

  • Wenn der Tag nicht erkannt wird: Prüfe, ob die Extension wirklich geladen ist (Spezial:Version).
  • Paketname kann variieren: DynamicPageList vs. Intersection. Teste ggf. beide in LocalSettings.php.
  • Auf produktiven Wikis ggf. Limits (count) konservativ halten (Performance).

Weiterführend