Benutzer:Kameloid/dpl
dpl (Dynamic Page List)
Nützliche Links
Eine Sammlung aller %xxxyyy% Variablen hats hier: [5]
dpl in 20 Min
dpl kann so aufgerufen werden (grosser Nachteil {{{xy}}} kann nicht benutzt werden):
<dpl> namespace = Kamel titlematch = Kameloid/Vorlagen/% replaceintitle=/Kameloid\/Vorlagen\//, format = ,**[[%PAGE%|%TITLE%]]\n, noresultsheader = Des is nix gut! </dpl>
Oder so:
{{#dpl: |namespace = Kamel |titlematch = Kameloid/Vorlagen/% |replaceintitle=/Kameloid\/Vorlagen\//, |format = ,**[[%PAGE%|%TITLE%]]\n, |noresultsheader = Des is nix gut! }}
Ersatz-Zeichen
Da die Verarbeitung auf gewisse Zeichen angewiesen ist, um zu merken wo welcher Parameter anfängt und aufhört, und diese identisch mit den Wikisyntax sind muss man manchmal Ersatz-Zeichen benützen Bsp:
{{#dpl: |namespace = |addpagecounter = true |userdateformat=j. M Y |addeditdate=true |ordermethod=firstedit |createdby= Kameloid |uses= Vorlage:hw |resultsheader = {¦²{prettytable}² class=sortable width=100% \n!width=300px¦Meine Kamelitos (%PAGES%) |format = ¦¦width=100px¦Erschaffen¦¦width=100px¦Gesichtet¦¦Linksto ,\n¦-\n¦align=left¦[[Bild:Kartenhäufigkeit2.png|float|14px]] '''[[%PAGE%|%TITLE%]]''', ¦¦align=center¦<span style="display:none">²{#time:Ymd¦%DATE%}²</span>%DATE% ¦¦align=center¦%COUNT%¦¦²{Kamel:Kameloid/Kamelproductions/SubList¦%TITLE%}²\n,\n¦} |noresultsheader = Des is nix gut! }}
Erzeugt dieses hier:
Des is nix gut!
Hier wird:
- {{...}} mit ²{...}²
- {|...|} mit {¦...¦}
- | mit ¦
- Newline mit \n
ersetzt. Weiterführende Literatur: [6]
Namespace
- Nicht in der Abfrage enthalten = Alle
- Leer lassen = Artikelnamensraum (namespace = (sieht halt unfertig aus, aber so ises))
- 2 oder mehr Namespaces angeben: namespace = ¦Bild¦Forum oder namespace = {{!}}Bild{{!}}Forum (ist eine Vorlage:!) die einfach einen | ausgibt. (wobei das "Leer" vor dem ¦Bild¦Forum eben den "leeren" darstellt, den Artikelnamensraum )
- Namespaces auf diesem Server:
Archiv | Archiv_Diskussion | Bild | Bild_Diskussion | Diskussion | Forum | Hilfe | Hilfe_Diskussion | Kamel | Kamel_Diskussion | Kamelopedia | Kamelopedia_Diskussion | Kategorie | Kategorie_Diskussion | MediaWiki | MediaWiki_Diskussion | Projekt | Projekt_Diskussion | Vorlage | Vorlage_Diskussion.
addpagecounter
Jedes zusätzliche Feature (was mehr als den Artikelnamen erzeugen soll) muss auch deklariert werden. addpagecounter=true sagt dem deppl, dass es die Besucherzahlen der Seiten mitsammeln soll. Kann dann bei der Ausgabe (fromat=...) als %COUNT% beliebig verwurstet werden.
userdateformat
Enthält die Abfrage ein Datum, kann diese präformatiert werden. Für nähere Formatangaben siehe:[7]
Zb.: userdateformat=j. M Y erzeugt ein Datum wie: 1. Dec 2008
addeditdate
addeditdate=true ist ein Feature und muss eingeschaltet werden.
Kann dann bei der Ausgabe (fromat=...) als %DATE% beliebig verwurstet werden.
Bei sortierten Tabellen, muss mit einen Trick ein 2tes Datum mit ausgegeben werden, sonst wirds falsch sortiert:
<span style="display:none">²{#time:Ymd¦%DATE%}²</span>%DATE%
Das erste Datum (<span style="display:none">²{#time:Ymd¦%DATE%}²</span> ) ist unsichtbar, aber da und zwar als 20081201, das sichtbare ist dann 1. Dec 2008.
ordermethod
Muss angegeben werden sobald Kamel mit dem Datum spielt. Es gibt viel Möglichkeiten wonach sortiert werden soll. Im Bsp ist ordermethod=firstedit verwendet, da es um das Datum der Neuanlegung des Artikels geht.
PS: In diesem Zusammenhang ist auch order=descending (vom Neuseten zum Ältesten) oder order=ascending (standard vom Ältesten zum Jüngsten) interessant.
createdby
Gibt das Kamel wieder, dass den Blödsinn auf den Server geklatscht hat. Kann dann bei der Ausgabe (fromat=...) als %USER% beliebig verwurstet werden.
uses
Schränkt die Ausgabe ein auf, die Artikel, die die Vorlage:XXXXYYYY braucht:
uses=Vorlage:Hw¦Vorlage:Was die Verknüpfung ist "und/oder".
notuses=..... ist das Gegenteil. Es ist nicht nur auf Vorlagen eingeschränkt, es kann auch ein anderer Namespace verwendet werden.
resultsheader
Gibt es zumindest ein Resultat, dann wird resultsheader = {¦²{prettytable}² class=sortable width=100% \n!width=300px¦Meine Kamelitos (%PAGES%) Ausgegeben, bzw. ausgeführt (hier könnte man auch eine Subroutine schachteln). Im Bsp ist das der Anfang der Tabelle. Der Tabellenanfang könnte auch im "format=" stehen, dann ist aber die Variabel %PAGES% (Gesamtzahl der Gefundenen) nicht verfügbar.
Nahe Verwandte sind:
- oneresultheader= (wenn es genau 1 Resultat gibt)
- noresultsheader= (wenn es kein Resultat gibt. Wenn damit zu rechenen ist, dass es auch kein Ergebnis geben kann, sollte hier was stehen, sonst wird so ne komische Meldung ausgegeben, die dann auch sichtbar ist)
format
Dies ist das schwärzeste Kapitel.
format = ,,, ist die Grundform. Sie teilt sich auf in:
format = XXXX,PPPP,AAAA,YYYY:
XXXX: Da kommt alles hin, was vor der Liste stehen soll
PPPP: Hier kommt alles hin, was mit der Artikeltitel zutun hat
AAAA: Der ganze übrige Schrott
YYYY: Da kommt alles hin, was nach der Liste stehen soll.
format =
Die überschrift der Tabelle
¦¦width=100px¦Erschaffen ¦¦width=100px¦Gesichtet ¦¦Linksto,
Der Inhalt der Tabelle Artikelname
\n¦-\n¦align=left¦[[Bild:Kartenhäufigkeit2.png|float|14px]][[%PAGE%|%TITLE%]],
Und der übrige Schrott
¦¦align=center¦
%DATE%
¦¦align=center¦%COUNT%¦¦²{Kamel:Kameloid/Kamelproductions/SubList¦%TITLE%}²\n,
Und das blutige Ende der Tabelle
\n¦}
PS: Im Teil "übrige Schrott" wir im Bsp mit (²{Kamel:Kameloid/Kamelproductions/SubList¦%TITLE%}²) eine Externe Routine (Vorlage) aufgerufen, weiteres siehe unter #Probleme & Lösungen
Probleme & Lösungen
dpl kennt nur ein %DATE% pro Suche, will Kamel aber zb dass Datum wissen, wann der Artikel erstellt wurde und wann der letzte Edit im selbe Artikel war, wirds schwierig:
zz. löse ich das mit SubVorlagen, muss mal kucken obs auch anders geht...