Community-Wiki
Community-Wiki

Achtung: Diese Seite ist möglicherweise nicht mehr auf dem neusten Stand. Besuche dpl3.wikitide.org Controlling output format für eine aktuelle Version!
Hilfe:DPL3Handbuch → Steuerung des Ausgabeformats

Du kannst eines von mehreren Standardformaten auswählen oder dein eigenes Format definieren (mode); die Ausgabe kann in Spalten oder Zeilen gruppiert werden.

In den folgenden Beispielen wurde die DPL-Ausgabe klein gehalten, um die Ladezeit und die Seitengröße zu reduzieren, insbesondere durch die Verwendung von titlematch, nottitlematch, count, und includesubpages.

Allgemeiner Ansatz zur Formatierung der Ausgabe[]

Der allgemeine Ansatz für die Ausgabeformatierung ist zweigeteilt:

  1. Es gibt eine Reihe von einfachen, vordefinierten Ausgabeformaten, die Listen von Artikeln erzeugen.
    Du wirst ihre Bedeutung direkt beim Lesen verstehen.
  2. Es gibt einen Modus namens userformat, der die vollständige Kontrolle in deine Hände legt.
    Dies ist etwas kompliziert.

Während die Standard-Ausgabeformate für die schnelle Erzeugung einfacher Seitenlisten gedacht sind, zielt der Ansatz userformat darauf ab, Inhalte von anderen Seiten einzubinden, und erfordert einige Mühe, sie zu verstehen. Es gibt ein System von drei Tags, die verwendet werden, um (a) die gesamte Ausgabe, (b) jedes Element, (c) jeden transkludierten Abschnitt eines Elements zu umschließen. Ein viertes Tag wird verwendet, um Werte zwischen Elementen eines Abschnitts zu trennen, die mehr als einmal vorkommen.

Wir nehmen an, dass wir zwei Dokumente haben, die die Vorlagen x und y mit unterschiedlichen Argumenten verwenden; während x in jedem Dokument einmal verwendet wird, wird y mehrmals verwendet. In sehr kurzer Schreibweise könnte die Struktur wie folgt aussehen:

 A: x(a) y(3) y(5)
 B: x(b) y(4) y(1) y(2)


Die folgenden DPL-Parameter werden verwendet, um eine Reihe von Tags zu definieren, die zum Aufbau der Ausgabe verwendet werden:

Die Argumente der obigen Anweisungen können Referenzen auf VARIABLES enthalten. sec-1-start könnte also eine Referenz wie %PAGE% enthalten, um den Seitennamen auszugeben. Siehe format für weitere Details zur Variablensubstitution.

Denk mal an die folgende Anweisung zur Seiteneinbindung:

includepage={x}.dpl,{y}.dpl


Die Ausgabe sieht dann wie folgt aus:

  liststart
     itemstart
        sec-1-start
           x.dpl(a)
        sec-1-end
        sec-2-start
           y.dpl(3)
           multi-sep
           y.dpl(5)
        sec-2-end
     itemend
     itemstart
        sec-1-start
           x.dpl(b)
        sec-1-end
        sec-2-start
           y.dpl(4)
           multi-sep
           y.dpl(1)
           multi-sep
           y.dpl(2)
        sec-2-end
     itemend
  listend


Unter der Annahme, dass die Tags (liststart, itemstart usw.) Wiki-Syntax für Tabellendefinitionen enthalten und multi-sep eine horizontale Linie definiert, könnte die Ausgabe wie folgt aussehen:

  +------+---------------------+
  |      |          | y.dpl(3) |
  |  A   | x.dpl(a) |  ----    |
  |      |          | y.dpl(5) |
  +------+----------+----------+
  |      |          | y.dpl(4) |
  |      |          |  ----    |
  |  B   | x.dpl(b) | y.dpl(1) |
  |      |          |  ----    |
  |      |          | y.dpl(2) |
  +------+----------+----------+


In manchen Situationen kann es jedoch sinnvoll sein, eine Ausgabetabelle zu erstellen, in der jeder Aufruf der Vorlage y zur Erstellung einer eigenen Ausgabezeile verwendet wird. Mit einer sortierbaren Tabelle kannst du die Ausgabe dann leicht neu anordnen.

  +------+---------------------+       +------+---------------------+
  |  A   | x.dpl(a) | y.dpl(1) |       |  B   | x.dpl(b) | y.dpl(1) |
  +------+---------------------+       +------+---------------------+
  |  A   | x.dpl(a) | y.dpl(2) |       |  B   | x.dpl(b) | y.dpl(2) |
  +------+---------------------+       +------+---------------------+
  |  B   | x.dpl(b) | y.dpl(3) |       |  A   | x.dpl(a) | y.dpl(3) |
  +------+---------------------+       +------+---------------------+
  |  B   | x.dpl(b) | y.dpl(4) |       |  A   | x.dpl(a) | y.dpl(4) |
  +------+---------------------+       +------+---------------------+
  |  B   | x.dpl(b) | y.dpl(5  |       |  B   | x.dpl(b) | y.dpl(5) |
  +------+---------------------+       +------+---------------------+


Es gibt einen speziellen Parameter namens dominantsection, den du verwenden kannst, um einen Abschnitt deiner includepage-Anweisung als „dominant“ zu markieren (in unserem Beispiel: dominantsection als {y}.dpl ist das zweite Argument unserer includepage-Anweisung). Es kann nur einen dominanten Abschnitt in einer DPL-Anweisung geben. Die Kennzeichnung eines Abschnitts als „dominant“ ist nur sinnvoll, wenn du mehrere Aufrufe der gleichen Vorlage (oder mehrere Kapitel mit der gleichen Überschrift) in deinen Dokumenten hast. Jeder Inhalt des dominanten Abschnitts erzeugt eine eigene Ausgabezeile, wobei die Werte aller anderen Spalten wiederholt werden.

Da das alles nicht so einfach zu verstehen ist, gibt es zusätzliche DPL-Befehle (table, tablerow), die die Erstellung von tabellarischen Ausgaben recht einfach machen.

Einstellung des grundlegenden Ausgabemodus[]

mode[]

Syntax
mode = Modusname

Modusname kann eines dieser sein:

unordered
gibt eine unsortierte Liste aus – HTML-Tag <ul>(Standard)
ordered
gibt eine geordnete Liste aus – HTML-Tag <ol>
none
gibt eine Liste mit Zeilenumbrüchen und den HTML-Tags <br/> aus, um die einzelnen Einträge zu trennen
inline
gibt eine Liste aus, in der die durch den Parameter inlinetext definierten Symbole zur Trennung der Elemente verwendet werden
category
gibt resultierende Artikel so aus, dass Kategorieseiten angezeigt werden (du musst ordermethod mit dieser Option verwenden!)
userformat
überlässt die Kontrolle über die Ausgabe vollständig dem Benutzer;
siehe Parameter listseparators und secseparators; in diesem Modus bietet DPL eingebaute Variablen an, die in der vom Benutzer angegebenen Ausgabeformatbeschreibung referenziert werden müssen. mode ist sehr wichtig, um die vollständige Kontrolle über die Ausgabe zu haben.

Für die fortgeschrittene Verwendung von DPL ist es wichtig, mode zu verstehen. Beachte, dass dieser Modus automatisch impliziert wird, wenn listseparators oder format verwendet werden.

mode 'ordered', 'unordered', 'none' (Beispiel 1)[]

Diese erstellen verkürzte Listen von Kategorie:DPL3-Seiten:

In einer <ol>-Liste: In einer <ul>-Liste:
<dpl>
  category=DPL3
  titlematch=%o%
  nottitlematch=%nt%|%ow%|%ec%
  mode=ordered
</dpl>
<dpl>
  category=DPL3
  titlematch=%o%
  nottitlematch=%nt%|%ow%|%ec%
  mode=unordered
</dpl>
  1. Hilfe:DPL3/Beispiel: Artikelbezogen
  2. Hilfe:DPL3/Beispiel: Auswahl nach Kategorie
  3. Hilfe:DPL3/Beispiel: Anzeigen von Vorlagenparametern aus einem Artikel
  4. Benutzer:Nekky-chan/Hilfe:DPL3/Parameter: Steuerung des Ausgabeformats
  5. Hilfe:DPL3/Parameter: Steuerung der Ausgabereihenfolge
In einer <br />-Liste:
<dpl>
  category=DPL3
  titlematch=%o%
  nottitlematch=%nt%|%ow%|%ec%
  mode=none
</dpl>

mode 'category' (Beispiel 2)[]

<dpl>
  titlematch=%Hilfe%
  includesubpages=false
  mode=category
  ordermethod=titlewithoutnamespace
</dpl>

Diese Liste gibt Seiten aus, die „Hilfe“ im Namen haben; die Seiten werden nach ihrem Namen geordnet, unabhängig von der Kategorie, und die Ausgabe erfolgt im Stil der Kategorie (d. h. mit Abschnitten in Großbuchstaben).

mode 'inline'[]

inlinetext[]

Syntax
inlinetext = wikitext, wikitext ist irgendein Wikitext; Standard ist &nbsp;-&nbsp; außer für mode, wobei inlinetext standardmäßig leer ist.

Wenn du normale „Umbruch-Leerzeichen“ (und nicht die NICHT-umbrechenden Leerzeichen) möchtest, solltest du &#32;-&#32; verwenden.

Zusätzliche Leerzeichen werden von DPL am Anfang und Ende des Wikitextes entfernt. Wenn du ein oder mehrere Leerzeichen anzeigen willst, verwende ein oder mehrere &nbsp;, oder verwende die 'nowiki' Tags <nowiki> - </nowiki>, die den gleichen Effekt wie &nbsp;-&nbsp; haben.

Aufzählungszeichen können entweder mit &bull; oder * dargestellt werden.

Beispiel:

<dpl>
  category	      = Hilfe
  includesubpages = false
  count		      = 10
  mode		      = inline
  inlinetext	  = &nbsp; &bull; &nbsp;
</dpl>

Diese Liste gibt Seiten aus, die in Kategorie:Hilfe sind, angezeigt wie Seite1 • Seite2 • Seite3 • ...

mode 'userformat'[]

listseparators[]


format[]


Hinweis: listseparators ist ein Alias von format. Der Befehl format ist sehr flexibel, aber etwas kompliziert. Wenn du eine tabellarische Ausgabe erstellen willst, solltest du dir den Befehl table ansehen.

Syntax
format = Startall, Start, End, Endall; Startall, Start, End und Endall sind Wiki-Tags, die zur Trennung der Listenelemente verwendet werden.

Da die Wiki-Syntax von Zeilenumbrüchen abhängt, müssen \n oder verwendet werden, um explizit Zeilenumbrüche in die Ausgabe einzufügen.

Da wir die Ausgabe vollständig kontrollieren wollen, verweisen wir auf Artikelnamen und andere mögliche Ausgaben durch spezielle %VARIABLES%.

Variable Wirkung
%NR% die aktuelle Artikel-Folgenummer (beginnend mit 1)
%PAGE% den Namen des Artikels (einschließlich Namensraum)
%PAGEID% die interne eindeutige numerische ID der Artikelseite ({{PAGEID}} oder $wgArticleId)
%IMAGE% der physischen Pfad zu einem Bild (basierend auf Hash-Werten, z. B. 5/5d/myImage.jpg)
%PAGESEL% der Name einer Seite, die im Rahmen der Auswahlkriterien verwendet wurde (gilt nur für linksfrom und linksto)
%IMAGESEL% der Name eines Bildes, das in den Auswahlkriterien verwendet wurde (gilt nur für imageused)
%TITLE% der Titel der Seite (ohne den Namensraum)
%NAMESPACE% der Namensraum der Seite
%SIZE% die Artikelgröße (erfordert addpagesize = true)
%SIZEFS% eine Zahl für die Schriftgröße, die auf der Artikelgröße basiert (Logarithmus der Quadratwurzel des Zählers)
%COUNT% den Nutzungszähler (erfordert addpagecounter = true). Entfernt in MediaWiki 1.25[1].
%COUNTFS% eine Schriftgrößenangabe, die auf dem Nutzungszähler basiert (derzeit ist dies der Logarithmus des Nutzungszählers). Entfernt in MediaWiki 1.25[1].
%COUNTFS2% ähnlich wie %COUNTFS%, aber basierend auf dem Logarithmus der Quadratwurzel des Nutzungszählers. Entfernt in MediaWiki 1.25[1].
%DATE% das ausgewählte Datum, z. B. lastedit; erfordert addeditdate = true oder ähnlich; die Formatierung des Datums kann mit userdateformat beeinflusst werden
%USER% der Benutzer, der die Seite zuletzt geändert hat; erfordert adduser = true
%CONTRIBUTOR% der Benutzer, der einen Beitrag geleistet hat; erfordert addcontribution = true
%CONTRIBUTION% die Anzahl der geänderten Bytes; erfordert addcontribution = true
%CONTRIB% ein Sternchenbalken, der den Betrag der Änderung anzeigt; erfordert addcontribution = true
%CATLIST% eine durch Senkrechtstriche getrennte Liste von Links zu allen Kategorien, zu denen der Artikel gehört (erfordert addcategories = true)
%CATBULLETS% eine Aufzählung von Links zu allen Kategorien, zu denen der Artikel gehört (erfordert addcategories = true)
%CATNAMES% eine kommagetrennte Liste aller Kategorien, zu denen der Artikel gehört (erfordert addcategories = true)
%REVISION% der Name der Version des Artikels; nur zugänglich, wenn die DPL-Abfrage auf Versionen basiert
%EDITSUMMARY% die Änderungsprotokollmeldung einer Version; nur zugänglich, wenn die DPL-Abfrage auf Versionen basiert
%EXTERNALLINK% der externe Hyperlink, der als Folge der Anweisung linkstoexternal gefunden wurde

Diese Variablen werden durch die entsprechenden Werte ersetzt, wenn sie innerhalb von Start oder End oder innerhalb der entsprechenden Tags des Parameters secseparators vorkommen.

Darüber hinaus gibt es einige symbolische Variablen, die NUR in resultsheader und resultsfooter verwendet werden können

Variable Wirkung
%PAGES% Anzahl der Artikel in der Ergebnismenge
%TOTALPAGES% Gesamtzahl der Artikel in der Ergebnismenge, unabhängig von den Zählgrenzen; wird nur berechnet, wenn verwendet
%VERSION% die derzeitige DPL-Version
%DPLTIME% enthält die Zeit (in Sekunden + Millisekunden), die innerhalb von DPL benötigt wurde; dies kann hilfreich sein, wenn du langsame Antwortzeiten für Wikiseiten beobachtest, die DPL-Anweisungen enthalten. Beispiel: 2 (2023/06/13 09:27:43) würde bedeuten, dass DPL zwei Sekunden der gesamten Antwortzeit verbraucht hat, beginnend mit der in Klammern angegebenen Zeit.
%FIRSTNAMESPACE% Namensraum und Titel des ersten/letzten Artikels in der Ergebnismenge; die Informationen sind für das Blättern auf der Seite bestimmt
%FIRSTTITLE%
%LASTNAMESPACE%
%LASTTITLE%
%SCROLLDIR% durch den URL-Parameter DPL_scrollDir festgelegt; er wird an die Scroll-Helper-Vorlage übergeben, die ihn verwendet, um die Links zum Scrollen zu erzeugen

Die klassische Standardausgabe von DPL kann zum Beispiel auch mit folgenden Anweisungen erzeugt werden:

Standard Formatiert
<dpl>
  titlematch	  = %Hilfe%
  nottitlematch	  = %o%
  includesubpages = false
  count           = 10
</dpl>
<dpl>
  titlematch	  = %Hilfe%
  nottitlematch	  = %o%
  includesubpages = false
  format	      = ,\n* [[%PAGE%]],,
  count           = 10
</dpl>

Beachte, dass eine Aufzählungsliste in der Wiki-Syntax durch ein * am Anfang einer Zeile definiert ist – daher müssen wir ein spezielles Symbol \n oder verwenden, um auf den Beginn einer neuen Zeile des Wiki-Textes hinzuweisen. Ersetze das * durch ein # und du erhältst eine nummerierte Liste. Startall und Endall sind leer (beachte, dass wir mit einem Komma beginnen, beachte die beiden Kommas am Ende), das Start-Tag wird verwendet, um eine neue Zeile mit einem anfänglichen * zu erstellen, gefolgt vom Seitennamen, geschrieben als Link.

Die Erstellung einer Top-Fünf-Hitliste mit Zugriffsraten und fettgedruckten Artikelnamen unterschiedlicher Größe könnte so erfolgen:

<dpl>
  category	     = Hilfe
  ordermethod	 = counter
  order		     = descending
  addpagecounter = true
  count		     = 5
  format	     = ,\n%COUNT%  --- <font size="%COUNTFS%">'''[[%PAGE%]]'''</font>,<br/>,
</dpl>

Allerdings wurden addpagecounter, ordermethod = counter, %COUNT% und %COUNTFS% in MediaWiki 1.25 entfernt.

Im Folgenden findest du ein Beispiel für die Verwendung von %NR% zum Einstellen der Schriftgröße.

<dpl>
  category	     = Hilfe
  order		     = descending
  addpagecounter = true
  count		     = 4
  format	     = ,\n<font size="%NR%">'''[[%PAGE%]]'''</font>,<br/>,
</dpl>


Du kannst auch die HTML-Syntax für die Tags verwenden, obwohl davon abgeraten wird.

<dpl>
  linksto  = DPL
  format   = <ul type="disc">,<li>[[%PAGE%]],</li>,</ul>
</dpl>

Lass uns nun eine Tabelle mit der Wiki-Syntax erstellen:

<dpl>
  linksto  = DPL
  format   = {| class="wikitable"¶!Gefundene Seiten,¶|-¶|[[%PAGE%]],,¶|}
</dpl>

Wir verwenden Startall, um den Tabellenkopf zu definieren, und Endall für die Fußzeile. Jeder Artikel wird in einer Tabellenzeile unter Verwendung der Wiki-Syntax für das Tabellenlayout dargestellt.

Wir könnten auch Bildergalerien erstellen:

<dpl>
  namespace = Datei
  category  = Dateien_in_Hilfe
  count	    = 6
  format    = <gallery widths=20px heights=20px>,%PAGE%\n,,</gallery>
</dpl>


secseparators[]

Syntax
secseparators = Start1, End1, Start2, End2, ... oder secseparators = Start

Bitte beachte, dass sich die Semantik dieses Parameters mit Version 0.9.6 geändert hat. Beim Upgrade auf 0.9.6 wird es wahrscheinlich notwendig sein, die secseparators Anweisungen zu ändern.

In der ersten Syntaxvariante gibst du Paare von Tags an, die der Anweisung includepage entsprechen. StartN und EndN sind HTML-Zeichenfolgen oder Wiki-Tags, die um jeden transkludierten Abschnitt gelegt werden (siehe includepage).

In der zweiten Syntaxvariante gibst du nur ein Element an, das dann als StartN für alle Abschnitte verwendet wird; in diesem Fall wird das zweite Tag (EndN) für alle transkludierten Abschnitte leer sein.

Die symbolische Ersetzung von %PAGE% usw. erfolgt wie in listseparators beschrieben. Zusätzlich kann die Variable %SECTION% verwendet werden, um auf den gefundenen Abschnitt zu verweisen (funktioniert nur bei Abschnittsüberschriften).

Wenn derselbe Abschnitt mehr als einmal in einem Artikel vorkommt (oder ein Artikel dieselbe Vorlage mehr als einmal enthält), werden alle diese Vorkommen als ein Block transkludiert und die secseparators-Tags werden nur einmal um den gesamten Block gesetzt (siehe aber dominantsection).

Beispiel[]
<dpl>
  titlematch     = DPL3/d%
  ignorecase     = true
  linksto        = EHilfe:DPL3/Handbuch
  listseparators = {|class="dpl secsep"¶!Gefundene Seiten¶!Syntax¶!Beispiel,¶|-¶|[[%PAGE%|%TITLE%]],,¶|}
  includepage    = #Syntax,##Beispiel.*
  secseparators  = ¶|,,¶|,,
  count          = 2
</dpl>

Verwende listseparators, um eine dreispaltige Tabelle zu definieren und einen Link zum Artikel in die erste Spalte jeder Zeile zu setzen. Verwende secseparators, um weitere Spalten für jeden gefundenen Abschnitt hinzuzufügen. Es gibt zwei Paare für jeden transkludierten Abschnitt; das erste Element jedes Paares ist ein Zeilenvorschub und eine Senkrechtstrich (die eine neue Spalte in der Tabelle definieren) und das zweite Element jedes Paares ist leer. Schau dir die -Symbole genau an (\n kann als Alternative verwendet werden). Sie erscheinen immer vor einem Wiki-Syntaxelement, das am Anfang einer neuen Zeile stehen muss. Stelle also sicher, dass der Wiki-Parser sie versteht. Hinweis: Wenn ein Artikel keinen Abschnitt mit dem Namen „Beispiel“ enthält, wird eine leere Zelle in der Tabelle angezeigt.

Wie oben erwähnt, kann ein einzelnes Element in der secseparators-Anweisung verwendet werden, um dieses als Start-Tag auf alle transkludierten Abschnitte anzuwenden; es hätte also auch so geschrieben werden können:

Beispiel 2[]
<dpl>
  titlematch     = DPL3/d%
  ignorecase     = true
  linksto        = EHilfe:DPL3/Handbuch
  listseparators = {|class="dpl secsep"\n!Gefundene Seiten\n!Syntax\n!Beispiel,\n|-\n|[[%PAGE%|%TITLE%]],,\n|}
  includepage    = #Syntax[84],##Beispiel.*[180 mehr..]
  secseparators  = \n|
  count          = 3
</dpl>

Angenommen, die Abschnitte über Syntax und Beispiele enthalten lange Texte, so können diese gekürzt werden (z. B. auf 84 oder 180 Zeichen). Ein Link, der direkt auf diese Kapitel verweist, wird bei Bedarf automatisch erzeugt. Beachte, dass das Kürzen mit [ ] Text, der mit Wikitext oder Tags wie <nowiki> formatiert ist, unterbrechen kann.

multisecseparators[]

Syntax
multisecseparators = sep1,sep2,...

Die Tags entsprechen dem transkludierten Abschnitt (siehe includepage).

Die symbolische Ersetzung von %PAGE% usw. erfolgt wie in listseparators beschrieben. Zusätzlich kann die Variable %SECTION% verwendet werden, um auf den gefundenen Abschnitt zu verweisen (funktioniert nur bei Abschnittsüberschriften). Sie gibt den genauen Namen jeder Überschrift an, auch wenn du einen regulären Ausdruck (doppeltes ##) in der include-Anweisung verwendet hast.

Wenn ein Artikel die gleiche Vorlage mehrmals verwendet, erhälst du alle Verweise mit sepN als Trennzeichen.

Beispiel:

<dpl>
  titlematch	    = DPL%
  nottitlematch	    = %volume%|%page selection%
  uses		        = Vorlage:DPL Parameter
  include	        = {dpl handbuch}:[[%PAGE%|%TITLE%]],{dpl parameter}:name:purpose[50]
  mode		        = userformat
  listseparators    = ¶{|class="wikitable sortable" ¶!colspan=3|Felder können nicht innerhalb des includes formatiert werden¶|-¶!Seite ¶!Name ¶!Zweck,¶|-,¶|-¶|class="dpl blue-background" colspan=3|¶|-,¶|}
  secseparators	    = ¶|,,¶|class="dpl dark-background"|,
  multisecseparators= ,\n|-¶|¶|class="dpl light-background"|
</dpl>

Werte können nicht innerhalb von include formatiert werden, da die Formatierung nur in Formatierungsanweisungen erfolgen kann (in diesen Beispielen listseparators, secseparators, und multisecseparators). %VARIABLES% kann in include weggelassen und stattdessen in diese Formatierungsanweisungen zur weiteren Formatierung eingefügt werden.

Wir können einige Feldformatierungen erreichen, indem wir einige der oben genannten DPL-Anweisungen ändern:

include	       = {dpl handbuch}:%TITLE%,{dpl parameter}:name:purpose[50]
listseparators = ¶{|class="wikitable sortable" ¶!colspan=3|Felder... secseparators¶|-¶!Seite ¶!Name ¶!Zweck,¶|-,¶|-¶|class="dpl blue-background" colspan=3|¶|-,¶|}
secseparators  = ¶|[[%PAGE%|{{#explode:,|:|1}}]],¶|class="dpl dark-background"|,
include	       = {dpl handbuch}:,{dpl parameter}:name:purpose[50]
listseparators = ¶{|class="wikitable sortable" ¶!colspan=3|%VARIABLES%... listseparators¶|-¶!Seite ¶!Name ¶!Zweck,¶|-¶|[[%PAGE%|{{#explode:%TITLE%|:|1}}]],¶|-¶|class="dpl blue-background" colspan=3|¶|-,¶|}
secseparators  = ,,¶|class="dpl dark-background"|,,¶|,

Die von einer Scheinvorlage (z. B. Vorlage:DPL_parameter_dpl) vorgenommene Formatierung gilt sowohl für secseparators als auch für multisecseparators.

Wenn eine separate Formatierung erforderlich ist, muss sie den jeweiligen Parametern zugewiesen werden (wie unten gezeigt).

Um abgeschnittene Wörter zu verhindern, siehe Vorlage:DPL_parameter_dpl.nowordbreak (die Vorlage:nowordbreak verwendet).

  titlematch	     = DPL%
  nottitlematch	     = %volume%|%page selection%
  uses		         = Vorlage:DPL Parameter
  include	         = {dpl handbuch}:,{DPL parameter} dpl
  mode		         = userformat
  listseparators     = ¶{|class="wikitable sortable" ¶!colspan=3|Enthält eine Scheinvorlage¶|-¶!Seite ¶!Name ¶!Zweck,¶|-¶|[[%PAGE%|{{#explode:%TITLE%|:|1}}]],¶|-¶|class="dpl blue-background" colspan=3|¶|-,¶|}
  secseparators	     = ,,¶|class="dpl dark-background"|,,¶|,
  multisecseparators = ,\n|-¶|¶|class="dpl light-background"|
dominantsection[]

Syntax
dominantsection = nummer zwischen 1 und der Anzahl der Argumente in deiner includepage-Anweisung.

Wenn es nur 0 oder 1 Stück Inhalt für den dominanten Abschnitt gibt, wirst du keinen Unterschied zum normalen DPL-Verhalten feststellen.

Beispiel:
Siehe die Erklärungen oben auf dieser Seite, um die Bedeutung von dominantsection zu verstehen.

Hinweis: Die Verwendung von dominantsection zusammen mit table kann zu seltsamen Ergebnisformatierungen führen.

Tabellarische Ausgabe generieren[]

table[]

Syntax
table = tableatr, linkheader, (Spalten-Überschriften) ...

Die Anweisung table ist eine Abkürzung, die implizit bestimmte Werte für andere DPL-Parameter setzt, nämlich mode, listseparators / format, secseparators, und multisecseparators.

Das Layout ist weniger flexibel als die individuelle Verwendung aller oben genannten Parameter, wird aber wahrscheinlich in vielen Fällen ausreichend sein, insbesondere wenn es zusammen mit tablerow verwendet wird.

Wenn du table in einer DPL-Anweisung verwendest, ist es nicht sinnvoll, eine der anderen genannten Optionen zu verwenden, da deren Werte ohne Vorankündigung überschrieben werden. Es gibt eine Ausnahme von dieser Regel: Es kann sinnvoll sein, das DRITTE Argument für format in Kombination mit table anzugeben, sodass dieser Parameter NICHT durch den Befehl table überschrieben wird. Das dritte Argument kann verwendet werden, um Metadaten wie %COUNT%, %USER% etc. als Spalten in einer Ausgabetabelle auszugeben. Wenn du das willst, muss der dritte Parameter die Wiki-Syntax für Ausgabespalten wie diese enthalten:

include = {eine Vorlage}:parm1,#ein Abschnitt
table   =,,tplparm,chapter,#hits
format  =,,\n%COUNT%

Vergiss nicht, das |-Symbol zu umgehen, wenn deine DPL-Anweisung die Syntax einer Parserfunktion verwendet. Du erhältst eine Tabelle, die Vorlagenparameter, Abschnittsinhalte und den Verwendungszähler in einer dritten Spalte enthält. Metadaten können nur NACH dem normalen Inhalt platziert werden, da wir den DRITTEN Parameter der format-Anweisung verwenden.

Die Verwendung von table erfordert eine include-Anweisung, die aus Gründen der Lesbarkeit direkt vor der table-Anweisung stehen sollte). Jedes Argument der Anweisung include erzeugt eine oder mehrere Spalten in der Ausgabetabelle, die in der Anweisung table[ beschrieben wird.

table benötigt eine kommagetrennte Liste von Parametern:

  • Der erste Parameter wird verwendet, um allgemeine Parameter für die Tabelle zu beschreiben
    • Es wird empfohlen, hier eine CSS-Referenz zu setzen, z. B. class=wikitable oder class=mytable, wenn mytable in MediaWiki:Common.css oder MediaWiki:FandomDesktop.css definiert ist.
    • class=wikitable ist der Standardwert. Verwende doppelte Anführungszeichen, um mehrere Klassen anzugeben, z.B. class="wikitable sortable".
  • Der zweite Parameter ist die Überschrift für die erste Spalte.
    • Die erste Spalte wird automatisch einen Verweis auf den Artikel enthalten, sodass etwas wie „Article“ in Ordnung sein sollte.
    • Article ist der Standardwert.
    • Wenn du ein einzelnes - (Bindestrich) verwendest, wird die Spalte mit dem Hyperlink zu dem Artikel unterdrückt. Du kannst einen Hyperlink zu dem Artikel in jeder anderen Spalte angeben, wenn du [[{{%PAGE%}}|{{%TITLE%}}}]] innerhalb einer Phantomvorlage verwendest.
  • Alle nachfolgenden Parameter sind Spaltenüberschriften, die den Argumenten des include Parameters entsprechen. Beachte, dass du, wenn du eine Phantomvorlage (wie {Eine Vorlage}.dpl) in der include-Anweisung aufrufst, so viele Überschriften angeben musst, wie die Phantomvorlage Spalten erzeugt.
  • mode wird auf userformat gesetzt
  • listseparators wird so konfiguriert, dass eine Wiki-Syntax erzeugt wird, die eine Tabelle definiert
  • secseparators wird so konfiguriert, dass es eine Wiki-Syntax erzeugt, die eine Tabellenzeile erstellt. Die erste Spalte wird immer einen Hyperlink zum Artikel des Abfrageergebnisses enthalten (es sei denn, du setzt die Link-Überschrift auf -, wie oben beschrieben.
  • multisecseparators wird so konfiguriert, dass eine Wiki-Syntax erzeugt wird, die eine weitere Tabellenzeile für mehrere Vorkommen des ersten include-Arguments erzeugt. Für alle anderen Argumente wird ein Zeilenumbruch verwendet, wenn es sich um Vorlagenparameter handelt, und eine horizontale Trennlinie, wenn es sich um Abschnittsinhalte handelt. Der Hintergrund hierfür ist der folgende: Wenn du einen Artikel hast, der dieselbe Vorlage mehrmals aufruft, möchtest du vielleicht eine Tabelle haben, in der jeder Vorlagenaufruf eine Zeile in deiner Tabelle wird.

Bei der Verwendung von Phantomvorlagen (d. h. Vorlagen, die während der DPL-Ausführung anstelle der ursprünglichen Vorlage aufgerufen werden) müssen diese so geschrieben werden, dass sie eine Ausgabe gemäß der Wiki-Tabellensyntax erzeugen. Bei der Eingabe einer solchen Vorlage befinden wir uns bereits am Anfang einer Spalte (d. h. eine vorangehende Zeile mit einem | wurde bereits in den Ausgabestrom eingefügt). Beginne also direkt mit dem Inhalt der ersten Spalte. Um weitere Spalten hinzuzufügen, verwende ein | in einer separaten Zeile. Beispiel:

   irgendeine Ausgabe für eine Spalte: {{{1|}}}
   |
   irgendeine Ausgabe für die nächste Spalte: {{{2|}}}
   |
   irgendeine Ausgabe für die nächste Spalte: {{{3|}}}

Das mag kompliziert klingen, ist aber eine enorme Verbesserung im Vergleich zur nativen Verwendung von mode, listseparators, multisecseparators und multisecseparators.

Eine typische DPL-Anweisung, die den Parameter table verwendet, würde Folgendes enthalten:

include =                          #Kapitel X,{T1}:parm1,#Kapitel Y,{T2}.dpl
table   = class=sortable, Article,      X    ,     t-p  ,     Y    , T2-a, T2-b

Beachte, dass wir die obige Anweisung so geschrieben haben, dass sie die Korrespondenz zwischen include und table zeigt. Du kannst die ersten beiden Parameter sehen, die die Eigenschaften der Tabelle und eine Überschrift für den Hyperlink zum Artikel definieren. Dann folgen Überschriften für jedes Argument von include. Beachte, dass es ZWEI Überschriften gibt, die dem letzten Argument der include-Anweisung entsprechen (unter der Annahme, dass Vorlage:T2.dpl ZWEI Spalten ausgibt). Vorlage:T2 selbst kann mehr oder weniger als 2 Argumente haben – es kommt nur darauf an, wie viele Spalten von Vorlage:T2.dpl ausgegeben werden).

tablerow[]

Syntax
tablerow = coldef

coldef enthält Wiki-Code, der das Symbol %% verwendet, um auf das entsprechende Element einer include-Anweisung zu verweisen.

Die Anweisung table (die als Voraussetzung für tablerow verwendet werden muss) kümmert sich um die Grundlagen der Tabellenerzeugung. Wenn du also eine Spaltendefinition definierst, musst du nur den Code für den Feldinhalt selbst angeben. Du kannst mit Feldattributen wie "bgcolor" beginnen oder sie weglassen. Du kannst ein führendes \n oder hinzufügen, um sicherzustellen, dass der Feldinhalt korrekt angezeigt wird, wenn er eine Wiki-Syntax enthält, die von Zeilenumbrüchen abhängt (z. B. eine Aufzählungsliste). Du musst alle Spalten angeben, d. h. du musst so viele Einträge in der tablerow-Anweisung haben, wie es Spalten in deiner Tabelle gibt. Das Überspringen einer Spalte würde die Ausgabe für diese Spalte komplett unterdrücken.

Der Befehl tablerow lässt sich am besten anhand eines Beispiels erklären:

<dpl>
  category=Hilfe
  titlematch=DPL%
  count=4
  includepage ={DPL Handbuch}:section,%-1[25]
  table       =,Titel,Untertitel,Letzte Zeile (25 chars)
  tablerow    =style="text-align:center;background-color:lightyellow;"|%%,|%%,
</dpl>

Das folgende Beispiel beinhaltet die Verwendung von addpagecounter und %COUNT%, die beide in MediaWiki 1.25 entfernt wurden.

<dpl>
  category=Mitgliedsstaaten der Afrikanischen Union
  nottitlematch=Sudan
  addpagecounter=true
  includepage ={Infobox Land oder Territorien}:fläche:ungefähre_einwohner,%0[100]
  format      =,,\n|style="text-align:right;"|²{#ifexpr:%COUNT%>300¦<big>'''%COUNT%'''</big>¦%COUNT%}²,
  table       =,Land,Fläche,Einwohner,Text,#hits
  tablerow    =style="text-align:right;"|%%,style="text-align:right;"|%%,style="background-color:lightyellow;"|<small>%%</small>,\n|style="text-align:right;"|%%
</dpl>
  • Wir wählen einige afrikanische Länder aus, wobei wir den Sudan ausschließen.
  • Wir erfassen ein Stück Metadaten über die zu findenden Artikel (in unserem Fall den Nutzungszähler)
  • Wir fügen zwei benannte Parameter aus einem Vorlagenaufruf ein, {{Infobox Land oder Territorium}}
  • Wir fügen eine kurze Textpassage aus dem Text vor dem ersten Kapitel ein
  • Wir verwenden den dritten Parameter von format, um den Nutzungszähler auszugeben (wir könnten hier z. B. auch Werte über 100 hervorheben)
  • Wir heben Nutzungswerte über 300 hervor
  • Wir definieren eine Standard-Wikitabelle mit dem Artikelnamen in der ersten Spalte (namens „Land“)
  • Wir definieren Spaltenüberschriften für transkribierte Inhalte und für den Nutzungszähler
  • Wir sorgen für die rechte Ausrichtung der Zahlenwerte und definieren eine bgcolor für den Text

tablesortcol[]

Syntax
tablesortcol = number

number ist die Position der Spalte, die bei der ersten Anzeige des Ergebnisses als Sortierschlüssel verwendet werden soll.

  • Die Spaltennummerierung beginnt mit 1;
  • tablesortcol = 0 bedeutet nicht sortieren; dies ist die Standardeinstellung.
  • Negative Zahlen werden verwendet, um in absteigender Reihenfolge zu sortieren; z. B. würde -3 nach der dritten Spalte in absteigender Reihenfolge sortieren.
  • Beachte, dass der Rest der Zeile nach der ausgewählten Spalte ebenfalls Teil des Sortierschlüssels ist; so kann der Inhalt aufeinanderfolgender Spalten als sekundäres Sortierkriterium dienen, wenn es identische Werte in der ausgewählten Spalte gibt.
  • Beachte auch, dass der gesamte Spalteninhalt genommen wird; dies kann versteckte Inhalte oder Markierungssequenzen einschließen, wenn du Spaltenformatierungsbefehle benutzt hast. Aus demselben Grund kannst du nicht erwarten, dass numerische Inhalte „numerisch“ sortiert werden – die Sortierung erfolgt immer alphabetisch.
  • Du kannst natürlich etwas wie class=sortable zusammen mit tablesortcol verwenden. Der Unterschied ist, dass ..
    • die interaktive Sortierung nur funktioniert, wenn der Artikel bereits angezeigt wurde
    • die interaktive Sortierung versucht, den Inhaltstyp einer Spalte zu erraten und sortiert danach (Datum, Zahl, String)
  • Wenn du tablesortcol nicht verwendest, hängt die Ausgabereihenfolge deiner Tabellenzeilen von der Sortierreihenfolge ab, nach der die Artikel analysiert wurden. Diese Reihenfolge hängt von anderen DPL-Befehlen wie ordermethod ab. Die Voreinstellung ist „alphabetisch nach Titel“. Ohne tablesortcol erhältst du also die Tabellenzeilen in alphabetischer Reihenfolge der Artikelnamen, aus denen sie stammen. Mit tablesortcol kannst du sie nach dem Spalteninhalt selbst ordnen.

Überschriften-Modus[]

headingmode[]

Syntax
headingmode = Modusname

Modusname kann einer der folgenden Werte sein:

Modus Zweck HTML-Tag
none Überschriften werden nicht angezeigt, keine Überschrift - (Standard) -
unordered Gibt eine ungeordnete Liste aus <ul>
ordered Gibt eine geordnete Liste aus <ol>
definition Gibt eine Definitionsliste aus <dl>
H2 Gibt Abschnitte aus (Derzeit defekt) <h2>
H3 Gibt Abschnitte aus (Derzeit defekt) <h2>
H4 Gibt Abschnitte aus (Derzeit defekt) <h4>

Beispiel:

<dpl>
  category=Community-Wiki|Fandom-Neuigkeiten
  notcategory=Technische_Updates
  nottitlematch=%d%|Begriffserklärung
  count=7
  ordermethod=category,title
  headingmode=definition
  mode=ordered
</dpl>

Diese Liste zeigt Seiten, die zu einer der Kategorien Community-Wiki, Fandom-Neuigkeiten gehören, in einer Liste ähnlich dieser an (HTML-Quelle). Die Kategorien werden in sortierter Reihenfolge aufgelistet, und die Titel werden durch die entsprechenden Links ersetzt (nottitlematch und count werden einfach verwendet, um die Ausgabegröße zu reduzieren):

HTML-Ausgabe Eigentliche Ausgabe
<dl>
  <dt>Kategorie</dt>
  <dd>
    <ol>
      <li>Seite1</li>
      <li>Seite2</li>
    </ol>
  </dd>
</dl>
Admin-Hilfe
  1. Benutzer Blog:ForestFairy/Neue Funktion: Mobile Hauptseiten bearbeiten
Aktuelles vom Fandom-Team
  1. Benutzer Blog:Avatar/Aktuelles vom Wikia-Team – Januar 2015
  2. Benutzer Blog:ElBosso/Aktuelles vom Wikia Team – März 2014
  3. Benutzer Blog:ElBosso/Aktuelles vom Wikia-Team - April 2016
  4. Benutzer Blog:ElBosso/Aktuelles vom Wikia-Team - August 2014
  5. Benutzer Blog:ElBosso/Aktuelles vom Wikia-Team - August 2016
  6. Benutzer Blog:ElBosso/Aktuelles vom Wikia-Team - Dezember 2015

Der headingmode kann bei mehrspaltiger Ausgabe verwendet werden, aber die Länge der Spalten kann in diesem Fall stärker variieren, als zu erwarten wäre.

headingcount[]

Syntax
headingcount = true (Standardwert ist false)

listattr[]


Syntax
listattr = attribute1 = "val1" attribute2 = "val2" ...
Eingabe HTML-Ausgabe
<dpl>
category=Community
nottitlematch=%Forum%|Admin%
ordermethod=category,title
headingmode=definition
mode=none
listattr= class="submenul" class="dpl light-background"
itemattr= class="submenuli" style= "font-style: italic;"
</dpl>
<ol>
  <li class="submenul" class="dpl light-background"> Kategorie1 (Link)
    <div class="submenul">
      <span class="submenuli" style="font-style: italic;"> Seite1_1 </span> <br/>
      <span class="submenuli" style="font-style: italic;"> Seite1_2 </span>
    </div>
  </li>
  <li class="submenul" class="dpl light-background"> Kategorie2 (Link)
    <div class="submenul">
      <span class="submenuli" style="font-style: italic;"> Seite2_1 </span> <br/> 
      <span class="submenuli" style="font-style: italic;"> Seite2_2 </span>
    </div>
  </li>
</ol>
<dpl>
category=Community
nottitlematch=%Forum%|Admin%
ordermethod=category,title
headingmode=definition
mode=unordered
listattr= class="submenul" class="dpl light-background"
itemattr= class="submenuli" style= "font-style: italic;"
</dpl>
<ol>
  <li> Kategorie1 (Link)
    <ul class="submenul" class="dpl light-background">
      <li class="submenuli" style="font-style: italic;"> Seite1_1 </li> 
      <li class="submenuli" style="font-style: italic;"> Seite1_2 </li>
    </ul>
  </li>
  <li> Kategorie2 (Link)
    <ul class="submenul" class="dpl light-background">
      <li class="submenuli" style="font-style: italic;"> Seite2_1 </li> 
      <li class="submenuli" style="font-style: italic;"> Seite2_2 </li>
    </ul>
  </li>
</ol>

itemattr[]

Syntax
itemattr = attribute1 = "val1" attribute2 = "val2 ...

hlistattr[]

Syntax
hlistattr = attribute1 = "val1" attribute2 = "val2 ...

Beispiel:

Eingabe HTML-Ausgabe
<dpl>
category=Community
nottitlematch=%Forum%|Admin%
ordermethod=category,pagetouched
headingmode=definition
mode=ordered
hlistattr= class="topmenul" id="dmenu" style= "font-size:17px;"
</dpl>
<div class="topmenul" id="dmenu" style="font-size:17px;">
  <li> Kategorie 1 (Link) </li>
  <ol>
      <li>Seite1_1</li>
      <li>Seite1_2</li>
  </ol>
  <li> Kategorie 2 (Link) </li>
  <ol>
      <li>Seite2_1</li>
  </ol>
</div>


Dies sind Beispiele verglichen zu listattr, itemattr und listattr.

Eingabe Eigentliche Ausgabe
<dpl>
category=Community-Wiki
nottitlematch=%Forum%|Admin%
ordermethod=category,title
headingmode=definition
mode=unordered
listattr= class="submenul" class="dpl light-background"
itemattr= class="submenuli" style= "font-style: italic;"
</dpl>
Community-Wiki
Seiten, die DynamicPageList3 parser function nutzen
<dpl>
category=Community-Wiki
nottitlematch=%Forum%|Admin%
ordermethod=category,title
headingmode=definition
mode=unordered
listattr= class="submenul"
itemattr= class="submenuli" class="dpl light-background" style= "font-style: italic;"
</dpl>
Community-Wiki
Seiten, die DynamicPageList3 parser function nutzen
<dpl>
category=Community-Wiki
nottitlematch=%Forum%|Admin%
ordermethod=category,title
headingmode=definition
mode=unordered
hlistattr= class="topmenul" id="dmenu" class="dpl light-background"
listattr= class="submenul"
itemattr= class="submenuli" style="font-style: italic;"
</dpl>
Community-Wiki
Seiten, die DynamicPageList3 parser function nutzen

Siehe auch hitemattr.

hitemattr[]

Syntax
hitemattr = attribute1 = "val1" attribute2 = "val2 ...
Eingabe HTML-Ausgabe
<dpl>
category=Community-Wiki
nottitlematch=%Forum%|Admin%
ordermethod=category,title
headingmode=unordered
mode=ordered
hlistattr= class="topmenul" id="dmenu"
hitemattr= class="topmenuli" class="dpl light-background"
</dpl>
<ul class="topmenul" id="dmenu">
  <li class="topmenuli" class="dpl light-background"> Kategorie 1 (Link)
    <ol>
      <li>Seite1_1</li>
      <li>Seite1_2</li>
    </ol>
  </li>
  <li class="topmenuli" class="dpl light-background"> Kategorie 2 (Link)
    <ol>
      <li>Seite2_1</li>
    </ol>
  </li>
</ul>
Erwartete Ausgabe
  • Kategorie 1 (Link)
    1. Seite1_1
    2. Seite1_2
  • Kategorie 2 (Link)
    1. Seite2_1

userdateformat[]

Syntax
userdateformat = formatstring

Der formatstring kann Buchstaben wie „y,Y,m,M,d,D,h,H,i,I,s“ für Jahr, Monat und Tag enthalten. Andere Zeichen werden so ausgegeben, wie sie sind. Siehe die Dokumentation der php-Funktion date() für weitere Details. Das userdateformat gilt für alle Datums-/Uhrzeitfelder, siehe die Parameter: addeditdate,addpagetoucheddate, addfirstcategorydate.

Beispiel:
userdateformat = Y-m-d (D)

Standard:
Standardmäßig verwendet DPL „Y-m-d H:i:s“ zur Anzeige von Datum und Uhrzeit. Beachte, dass MediaWiki alle Daten/Zeiten im UTC-Format speichert. Wenn ein Zeitstempel angezeigt wird, übersetzt DPL ihn entsprechend:

  1. der Zeitzonenpräferenz (Unterschied zu UTC/GMT), die der Benutzer in seinen Benutzereinstellungen angegeben hat.
  2. wenn keine Präferenz angegeben wurde und für alle anonymen Benutzer wird die lokale Zeit auf dem Server verwendet.

Du wirst also entweder eine Zeit sehen, die auf deiner lokalen Zeit basiert (browserbasiert) oder auf der Zeitzone, in der der Wiki-Server läuft.

Die gleiche Art der Übersetzung gilt für Daten, die du bei der Auswahl von Artikeln nach Versionsdatum/Uhrzeit angibst.

Steuerung der Anzeige von Artikelnamen[]

shownamespace[]

Syntax
shownamespace = false

Beispiel:

<dpl>
  category      = Hilfe
  namespace     = Hilfe_Diskussion
  shownamespace = false
</dpl>

Diese Liste gibt alle Diskussionsseiten in Kategorie:Hilfe aus, die ohne das dem Seitennamen vorangestellte „Hilfe Diskussion:“ aufgeführt sind.

Der Namensraum „Diskussion“ bezieht sich auf Diskussionsseiten innerhalb des Hauptnamensraums; alle anderen Namensräume, wie z.B. „Hilfe“- oder „Project“-Diskussionsseiten, benötigen das Format „Namensraum_Diskussion“.

Nur Diskussionsseiten, die der Kategorie hinzugefügt wurden (indem man [[Kategorie:Hilfe]] auf die Diskussionsseite setzt), werden aufgelistet.

Beachte, dass es in mode = userformat eine andere Möglichkeit gibt, zu entscheiden, ob der Titel mit oder ohne Namensraum ausgegeben werden soll. In mode = userformat werden zwei eingebaute Variablen bereitgestellt, die den Seitennamen einschließlich des Namensraum (%PAGE%) und den Namen des Basistitels (%TITLE%) enthalten.

escapelinks[]

Syntax
escapelinks = false

Hinweis: Du kannst diesen Parameter verwenden, um Bilder anzuzeigen; eine andere Möglichkeit ist, die Galerie-Erweiterung in Kombination mit DPL zu verwenden.

titlemaxlength[]

Syntax
titlemaxlength = Anzahl der Schriftzeichen; z. B. titlemaxlength = 25, um die zu anzeigenden Zeichen auf 25 zu begrenzt wird.

replaceintitle[]

Syntax
replaceintitle = Suche,Ersetze

Das Argument Suche muss ein Ausdruck sein, der in einem Aufruf der php-Funktion preg_replace() verwendet werden kann.

Beispiel:
Um die Zeichenfolge "demo" in Artikelnamen zu entfernen, musst du folgendes schreiben:

replaceintitle = /demo/,

Hinweis: Es gelten die Standard-Regexp-Regeln. Die Regexp muss mit einem nicht-alphanumerischen Zeichen beginnen - aber nicht mit einem Backslash!

Es ist eine gute Angewohnheit, ein / zu verwenden, wenn dieses Zeichen innerhalb der Regexp selbst nicht benötigt wird. Lies das php-Handbuch, um die Details der regulären Ausdrücke zu verstehen.

Anordnen von Artikellisten in Spalten und Zeilen[]

columns[]

Syntax
columns = ncols

Beispiel:

<dpl>
  category	      = Hilfe
  nottitlematch	  = %DPL%
  includesubpages = false
  columns	      = 3
  rowcolformat	  = width=100%
  count		      = 6
</dpl>

Zeigt einfach Nicht-DPL-Artikel und Unterkategorien in Kategorie:Hilfe in 3 Spalten an (rowcolformat wird verwendet, um die Tabellenbreite auf 100% zu bringen).

Für eine 3-spaltige DPL-Tabelle kann CSS verwendet werden, um die gewünschten Ergebnisse zu erzielen:

<div style="-webkit-column-count:3;column-count:3;">
<dpl>
  category	      = Hilfe
  nottitlematch	  = %DPL%
  includesubpages = false
  columns	      = 3
  rowcolformat	  = width=100%
  count		      = 6
</dpl>
</div>


Komplexeres Beispiel:

In mode = userformat werden die äußeren Tags von listseparators für jede Spalte wiederholt.

<dpl>
  category	      = Hilfe
  nottitlematch	  = %DPL%
  includesubpages = false
  addpagesize	  = true
  ordermethod	  = size
  listseparators  = {|class="sortable wikitable" id=2\n!Rang\n!Artikel\n!Bytes\n|-,\n|%NR%.\n|[[%PAGE%]]\n|style="text-align:right;"|%SIZE%,\n|-,\n|}
  columns	      = 2
  count		      = 6
</dpl>


Diese Ausgabe enthält eine Liste der kleinsten Nicht-DPL-Artikel in Kategorie:Hilfe. Jede Spalte besteht aus einer Tabelle, die selbst drei Spalten hat: Rang, Artikelname und Größe.

rows[]

Syntax
rows = nrows

In mode = userformat werden die äußeren Tags von listseparators für jede Spalte wiederholt. Auf diese Weise kannst du lange Listen erstellen, in denen die Tabellenüberschrift von Zeit zu Zeit wiederholt wird.

<dpl>
  category	      = Hilfe
  nottitlematch	  = %DPL%
  includesubpages = false
  addpagesize	  = true
  ordermethod	  = size
  listseparators  = {|class="sortable wikitable" style="margin: 0 auto;" id=2\n!Rang\n!Artikel\n!Bytes\n|-,\n|%NR%.\n|[[%PAGE%]]\n|style="text-align:right;"|%SIZE%,\n|-,\n|}
  rows		      = 2
  count		      = 6
</dpl>


Diese Ausgabe enthält eine Liste der kleinsten Nicht-DPL-Artikel in Kategorie:Hilfe, die in zwei Zeilen angeordnet sind (wobei die Liste der Zeilen gleichmäßig in 2 geteilt wird). Jede Zeile besteht aus einer Tabelle, die selbst drei Spalten hat: Rang, Artikelname und Größe.

rowsize[]

Syntax
rowsize = nrowsize

In mode = userformat werden die äußeren Tags von listseparators für jede Spalte wiederholt. Auf diese Weise kannst du lange Listen erstellen, in denen die Tabellenüberschrift von Zeit zu Zeit wiederholt wird.

Beispiel:

<dpl>
  category	      = Hilfe
  nottitlematch	  = %DPL%
  includesubpages = false
  addpagesize	  = true
  ordermethod	  = size
  listseparators  = {|class="sortable wikitable" style="margin: 0 auto;" id=2\n!Rang\n!width=200px|Artikel\n!Bytes\n|-,\n|%NR%.\n|[[%PAGE%]]\n|style="text-align:right;"|%SIZE%,\n|-,\n|}
  rowsize		  = 3
  count		      = 6
</dpl>


Diese Ausgabe enthält eine Liste der kleinsten Nicht-DPL-Artikel in Kategorie:Hilfe. Nach jeder Gruppe von 3 Einträgen (Artikelnamen) wird die Tabellenüberschrift wiederholt. Es kann sinnvoll sein, die Breite der Spalte mit den Artikelnamen explizit festzulegen, damit die Tabellen in jeder Zeile die gleiche Breite haben.

rowcolformat[]

Syntax
rowcolformat = HTML-Tags

Beispiel:

<dpl>
  category	      = Hilfe
  nottitlematch	  = %DPL%
  includesubpages = false
  columns	      = 3
  rowcolformat	  = cellspacing=20
  count	     	  = 6
</dpl>


Es wird mehr Platz um die Spalten herum als normal sein. Siehe columns oben für ein weiteres Beispiel.

Der ideale Weg, um rowcolformat zu verwenden, ist, deiner DPL-Tabelle eine CSS-Klasse zuzuweisen, die in der MediaWiki:Common.css oder MediaWiki:FandomDesktop.css definiert wurde.

<dpl>
  category	      = Hilfe
  nottitlematch	  = %DPL%
  includesubpages = false
  columns	      = 3
  rowcolformat	  = class=dpl3columns
  count		      = 6
</dpl>


Das CSS hierfür könnte in etwa so aussehen:

 table.dpl3columns td {
   background: #f2f2f2;
   padding: 0.5em;
   border: 3px;
   width: 33%;
 }

Referenzen[]

  1. 1,0 1,1 1,2 Diese Funktion wurde in MediaWiki 1.25 nach einer Bitte um Stellungnahme vollständig entfernt.

Mehr Hilfe[]