Recent Changes - Search:

PmWiki (deutsch) für die Liste aller Seiten


Englisch:

PmWiki

pmwiki.org

edit SideBar

https://www.jetphotos.com/photographer/598301 https://www.jetphotos.com/photographer/598304 https://www.jetphotos.com/photographer/598305 https://www.jetphotos.com/photographer/598307 https://www.jetphotos.com/photographer/598310 https://www.jetphotos.com/photographer/598312 https://www.jetphotos.com/photographer/598317 https://www.jetphotos.com/photographer/598318 https://www.jetphotos.com/photographer/598320 https://www.jetphotos.com/photographer/598321 https://www.jetphotos.com/photographer/598322 https://www.jetphotos.com/photographer/598324 https://www.jetphotos.com/photographer/598328 https://www.jetphotos.com/photographer/598340 https://www.jetphotos.com/photographer/598341 https://www.jetphotos.com/photographer/598346 https://www.jetphotos.com/photographer/598349 https://www.jetphotos.com/photographer/598357 https://www.jetphotos.com/photographer/598366 https://www.jetphotos.com/photographer/598372 https://www.jetphotos.com/photographer/598374 https://www.jetphotos.com/photographer/598378 https://www.jetphotos.com/photographer/600028 https://www.jetphotos.com/photographer/600031 https://www.jetphotos.com/photographer/600032 https://www.jetphotos.com/photographer/600034 https://www.jetphotos.com/photographer/600036 https://www.jetphotos.com/photographer/600037 https://www.jetphotos.com/photographer/600039 https://www.jetphotos.com/photographer/600041 https://www.jetphotos.com/photographer/600042 https://www.jetphotos.com/photographer/600045 https://www.jetphotos.com/photographer/600046 https://www.jetphotos.com/photographer/600047 https://www.jetphotos.com/photographer/600048 https://www.jetphotos.com/photographer/600050 https://www.jetphotos.com/photographer/600051 https://www.jetphotos.com/photographer/600052 https://www.jetphotos.com/photographer/600053 https://www.jetphotos.com/photographer/600055 https://www.jetphotos.com/photographer/600057 https://www.jetphotos.com/photographer/600641 https://www.jetphotos.com/photographer/600644 https://www.jetphotos.com/photographer/600645 https://www.jetphotos.com/photographer/600646 https://www.jetphotos.com/photographer/602231 https://www.jetphotos.com/photographer/602240 https://www.jetphotos.com/photographer/602244 https://www.jetphotos.com/photographer/602247 https://www.jetphotos.com/photographer/602261 https://www.jetphotos.com/photographer/602265 https://www.jetphotos.com/photographer/602279 https://www.jetphotos.com/photographer/602307 https://www.jetphotos.com/photographer/602315 https://www.jetphotos.com/photographer/602323 https://www.jetphotos.com/photographer/602340 https://www.jetphotos.com/photographer/602346 https://www.jetphotos.com/photographer/602741 https://www.jetphotos.com/photographer/602743 https://www.jetphotos.com/photographer/602744 https://www.jetphotos.com/photographer/602745 https://www.jetphotos.com/photographer/602746 https://www.jetphotos.com/photographer/602748 https://www.jetphotos.com/photographer/602749 https://www.jetphotos.com/photographer/602750 https://www.jetphotos.com/photographer/602757 https://www.jetphotos.com/photographer/602758 https://www.jetphotos.com/photographer/602762 https://www.jetphotos.com/photographer/602763 https://www.jetphotos.com/photographer/602764 https://www.jetphotos.com/photographer/602769 https://www.jetphotos.com/photographer/602770 https://www.jetphotos.com/photographer/602772 https://www.jetphotos.com/photographer/602773 https://www.jetphotos.com/photographer/602774 https://www.jetphotos.com/photographer/602775 https://www.jetphotos.com/photographer/601186 https://www.jetphotos.com/photographer/601188 https://www.jetphotos.com/photographer/601189 https://www.jetphotos.com/photographer/601191 https://www.jetphotos.com/photographer/601192 https://www.jetphotos.com/photographer/601194 https://www.jetphotos.com/photographer/601196 https://www.jetphotos.com/photographer/601197 https://www.jetphotos.com/photographer/601248 https://www.jetphotos.com/photographer/601249 https://www.jetphotos.com/photographer/601250 https://www.jetphotos.com/photographer/601251 https://www.jetphotos.com/photographer/601252 https://www.jetphotos.com/photographer/601254 https://www.jetphotos.com/photographer/601255 https://www.jetphotos.com/photographer/601256 https://www.jetphotos.com/photographer/601258 https://www.jetphotos.com/photographer/601260 https://www.jetphotos.com/photographer/601261 https://www.jetphotos.com/photographer/601263 https://www.jetphotos.com/photographer/601264 https://www.jetphotos.com/photographer/601265 https://www.jetphotos.com/photographer/601266 https://www.jetphotos.com/photographer/601267 https://www.jetphotos.com/photographer/601268 https://www.jetphotos.com/photographer/601269 https://www.jetphotos.com/photographer/601270 https://www.jetphotos.com/photographer/601272 https://www.jetphotos.com/photographer/601273 https://www.jetphotos.com/photographer/602779 https://www.jetphotos.com/photographer/602780 https://www.jetphotos.com/photographer/602781 https://www.jetphotos.com/photographer/602782 https://www.jetphotos.com/photographer/600111 https://www.jetphotos.com/photographer/600112 https://www.jetphotos.com/photographer/600148 https://www.jetphotos.com/photographer/600151 https://www.jetphotos.com/photographer/600155 https://www.jetphotos.com/photographer/600157 https://www.jetphotos.com/photographer/600159 https://www.jetphotos.com/photographer/600161 https://www.jetphotos.com/photographer/600163 https://www.jetphotos.com/photographer/600647 https://www.jetphotos.com/photographer/600648 https://www.jetphotos.com/photographer/600649 https://www.jetphotos.com/photographer/600650 https://www.jetphotos.com/photographer/602889 https://www.jetphotos.com/photographer/602890 https://www.jetphotos.com/photographer/602891 https://www.jetphotos.com/photographer/602895 https://www.jetphotos.com/photographer/602897 https://www.jetphotos.com/photographer/602900 https://www.jetphotos.com/photographer/602904 https://www.jetphotos.com/photographer/602907 https://www.jetphotos.com/photographer/602913 https://www.jetphotos.com/photographer/602916 https://www.jetphotos.com/photographer/602918 https://www.jetphotos.com/photographer/602922 https://www.jetphotos.com/photographer/602923 https://www.jetphotos.com/photographer/602925 https://www.jetphotos.com/photographer/602926 https://www.jetphotos.com/photographer/600534 https://www.jetphotos.com/photographer/600535 https://www.jetphotos.com/photographer/600536 https://www.jetphotos.com/photographer/600538 https://www.jetphotos.com/photographer/600539 https://www.jetphotos.com/photographer/600540 https://www.jetphotos.com/photographer/600542 https://www.jetphotos.com/photographer/600543 https://www.jetphotos.com/photographer/600544 https://www.jetphotos.com/photographer/600547 https://www.jetphotos.com/photographer/600548 https://www.jetphotos.com/photographer/600549 https://www.jetphotos.com/photographer/600550 https://www.jetphotos.com/photographer/600552 https://www.jetphotos.com/photographer/600553 https://www.jetphotos.com/photographer/600555 https://www.jetphotos.com/photographer/600558 https://www.jetphotos.com/photographer/600565 https://www.jetphotos.com/photographer/600566 https://www.jetphotos.com/photographer/600567 https://www.jetphotos.com/photographer/600568 https://www.jetphotos.com/photographer/600571 https://www.jetphotos.com/photographer/600573 https://www.jetphotos.com/photographer/600575 https://www.jetphotos.com/photographer/600576 https://www.jetphotos.com/photographer/600577 https://www.jetphotos.com/photographer/600578 https://www.jetphotos.com/photographer/600666 https://www.jetphotos.com/photographer/600668 https://www.jetphotos.com/photographer/600669 https://www.jetphotos.com/photographer/600670 https://www.jetphotos.com/photographer/602963 https://www.jetphotos.com/photographer/601276 https://www.jetphotos.com/photographer/601280 https://www.jetphotos.com/photographer/601281 https://www.jetphotos.com/photographer/601284 https://www.jetphotos.com/photographer/601285 https://www.jetphotos.com/photographer/601286 https://www.jetphotos.com/photographer/601287 https://www.jetphotos.com/photographer/601288 https://www.jetphotos.com/photographer/601291 https://www.jetphotos.com/photographer/601293 https://www.jetphotos.com/photographer/602776 https://www.jetphotos.com/photographer/602777 https://www.jetphotos.com/photographer/602955 https://www.jetphotos.com/photographer/602956 https://www.jetphotos.com/photographer/602957 https://www.jetphotos.com/photographer/602959 https://www.jetphotos.com/photographer/602960 https://www.jetphotos.com/photographer/602961

Seitenlistenvorlagen

für die Liste aller Seiten

Administratoren (FTP)

PmWikis Standardvorlagen für Seitenlisten sind in Site.PageListTemplates (wikilib.d) zu finden, diese Seite wird bei Upgrades ersetzt. Die darin enthaltenen Standardvorlagen können ergänzt oder überschrieben werden mit angepassten Vorlagen, die an anderer Stelle gespeichert werden.

Standard-Seitenlisten-Vorlage

PmWikis Standardkonfiguration sucht in den folgenden Seiten in dieser Reihenfolge nach der Vorlage:

  1. in der Seite, deren Name als Teil der Vorlage angegeben ist,
  2. in der aktuelle Seite,
  3. in Site.LocalTemplates? und schließlich
  4. in Site.PageListTemplates

Wenn die Vorlage in einer Seitenleiste (sidebar), im Kopf- oder Fußbereich der Gruppe (groupheader/-footer), etc. definiert ist, muss der Seitenname als Teil des Vorlagennamen angegeben werden.
Administratoren können diese Orte ändern, indem sie die Variable $FPLTemplatePageFmt benutzen.

Wenn die Vorlage in die aktuellen Seite eingebettet ist, muss die aktuelle Seite erst gespeichert werden, bevor Auswirkungen an Änderungen der Vorlage sichtbar werden. Die Vorschau allein reicht dafür nicht aus.

Angepasste Seitenlistenvorlagen

Angepasste Vorlagen werden in der gleichen Weise benutzt wie die Standardvorlagen: durch Verweisen auf das gewünschte Format mit der fmt=#anker-Option. Es gibt verschiedene Wege anzuzeigen, welche Vorlage gewünscht wird:

  • fmt=#custom benutzt den #custom-Abschnitt der aktuellen Seite, der Seite Site.LocalTemplates? oder der Seite Site.PageListTemplates, je nachdem, wo der Abschnitt zuerst gefunden wird (Abschnitte sind gekennzeichnet durch [[#custom]]- und [[#customend]]-Anker).
  • fmt=MeineVorlagenSeite#custom benutzt ein angepasstes Format, das in der Seite MeineVorlagenSeite im Abschnitt #custom zu finden ist.
  • fmt=MeineVorlagenSeite benutzt ein angepasstes Format aus der kompletten Seite MeineVorlagenSeite.
  • fmt=custom benutzt ein angepasstes Format, das in einem Kochbuchskript namens custom definiert ist. Beachten Sie das Fehlen des '#' vor custom.

Siehe Cookbook:PagelistTemplateSamples für Beispiele von angepassten Seitenlistenformaten.

Seitenlistenvorlagen erzeugen

Eine Seitenlistenvorlage enthält Standard-PmWiki-Markups. Wenn man eine Seitenlistenausgabe erzeugt, iteriert PmWiki über jede Seite, die die Seitenliste ausgibt und dekoriert jede einzelne Seite mit Formatierungsanweisungen (Markups).

Spezielle Verweise

Während der Seitenlisteniteration setzt PmWiki drei spezielle Seitenverweise: =, < und >. Diese speziellen Verweise werden für jede Seitenlisteniteration aufgefrischt und können mit der Seitenvariablen-Syntax benutzt werden, wie etwa {=$variable}, um eine Seitenlistenvorlage zu definieren, die die Seitenlistenausgabe gestaltet. Die Bedeutung dieser speziellen Verweise sind:

=aktuelle Seite→ also zeigt {=$title} den Titel der aktuellen Seite in der Iteration an
<vorherige Seite→ also zeigt ''{<$Group} die Gruppe der vorherigen Seite in der Iteration an
>nächste Seite→ also zeigt ''{>$Name} den Namen der nächsten Seite in der Iteration an

Die >- und <-Verweise sind höchst nützlich, um die Seitenlistenausgabe vor und nach der aktuellen Seitenliste zu strukturieren. Einige gebräuchliche Tests, mit denen man die Listenausgabe strukturieren kann, sind:

(:template first:) (:if equal {<$Group}:) Iteration ist am Beginn der Liste
(:template last:) (:if equal {>$Group}:) Iteration ist am Ende der Liste
(:template first {=$Group}:) (:if ! equal {=$Group} {<$Group}:) Iteration ist am ersten Item in einer Gruppe
(:template last {=$Group}:) (:if ! equal {=$Group} {>$Group}:) Iteration ist am letzten Item in einer Gruppe
(:template defaults:) Standardoptionen, die in dem Seitenlistenkommando benutzt werden
(:template each:) Bezeichnet den wiederholten Teil
(:template none:) wird verwendet, wenn keine Übereinstimmung gefunden wurde

Anmerkung: Die Markups in der mittleren Spalte sind veraltet

Spezielle Markups für Seitenlistenvorlagen

Seitenlistenvorlagen können spezielle Abschnitte haben,

  • (:template first ...:) und (:template ! first ...:),
  • (:template last ...:) und (:template ! last ...:),

um die Ausgabe für die erste oder letzte Seite in der Gruppe zu bezeichnen (benutze !first und !last für die Ausgabe aller Seiten außer der erste/letzte Seite).

Es gibt auch ein

  • (:template defaults ...:), damit eine Vorlage die Standardoption angeben kann,
  • (:template each ...:), um den wiederholten Teil zu bezeichnen und
  • (:template none:), dessen Inhalt erscheint, wenn keine Seite gefunden wurde (ab Version 2.2.5).

Diese erlauben Seitenlistenvorlagen einfach in Abschnitte aufzuteilen, die eingeschlossen oder nicht eingeschlossen werden in die Ausgabe, basierend auf einer Vielfalt von Bedingungen. Diese sind erweiterte Versionen der (:if ...:)-Bedingungen, die traditionell benutzt wurden, um die Seitenlistenausgabe zu steuern (trotzdem funktionieren die (:if:)-Bedingungen nach wie vor).

First, Each, Last, None

Die einfachsten Versionen der Direktiven sind:

(:template first:)      # Markup, das nur für die erste Seite angezeigt wird
(:template ! first:)    # Markup, das für jede Seite außer der ersten angezeigt wird
(:template each:)       # Markup, das für jede Seite der Liste angezeigt wird
(:template last:)       # Markup  das nur für die letzte Seite angezeigt wird
(:template ! last:)     # Markup, das für jede Seite außer der letzten angezeigt wird
(:template none:)       # Markup, das nur angezeigt wird, wenn keine Seite gefunden wurde

Eine Seitenlistenvorlage kann also Folgendes festlegen

(:template first:)
Seiten in der Liste:
(:template each:)
* [[{=$FullName}]] [-{=$:Summary}-]
(:template last:)
{$$PageCount} Seiten angezeigt.

Zusätzlich können die "first"- und "last"-Optionen weitere Argumente enthalten, die die Kontrolle unterbrechen, wenn etwas für die erste oder letzte Seite eines Kontrollabschnitts erledigt werden soll. Wenn zum Beispiel etwas ausgegeben werden soll beim Erreichen der ersten oder letzten Seite einer Gruppe, schreibt man:

(:template first {=$Group}:)
(:template last {=$Group}:)

Anstatt also Kontrollunterbrechungen zu schreiben, die die -Direktive benutzen, wie diese:

(:if ! equal {<$Group} {=$Group}:)
Gruppe: {=$Group}
(:ifend:)
* [[{=$FullName}]]

schreibt man nun:

(:template first {=$Group}:)
Gruppe: {=$Group}
(:template each:)
* [[{=$FullName}]]

Seiten-Text-Variablen und Seitenspezifische Variablen können ebenso benutzt werden, zum Beispiel

(:template default $:Maintainer=- order=$Maintainer,name:)
(:template first {=$:Maintainer}:)

Standardoptionen

Zusätzlich kann eine Vorlage Standardoptionen festlegen, die in Seitenlistenkommandos genutzt werden. Zum Beispiel würde eine Vorlage, die von einer Liste von Seiten die Titel ausgibt (und diese nach den Titeln sortiert), so geschrieben werden:

[[#bytitle]]
(:template defaults order=title:)
* [[{=$FullName}|+]]
[[#bytitleend]]

Dann schreibt der Autor (:pagelist fmt=bytitle:) und die Seiten würden automatisch nach Titeln sortiert, ohne das er "order=title" als Option in der (:pagelist:)-Direktive angeben musste.

Um mehrere Parameter für eine Option anzugeben, umschließt man sie mit doppelten Anführungszeichen, z. B. zum Sortieren nach einer Seiten-Text-Variablen und dann nach den Seitennamen

(:template defaults order="$:Database,name" :)

Beispiele

(:template defaults ... :)
Standardoption für Seitenlisten, die diese Vorlage benutzen
(:template each:)
Markup-Ausgabe für jede Seite der Seitenliste
(:template first:)
Markup-Ausgabe nur für die erste Seite in der Seitenliste
(:template last:)
Markup-Ausgabe nur für die letzte Seite in der Seitenliste
(:template first {=$Group}:)
Markup-Ausgabe nur für die Seite, für die der Wert von $Group sich gerade geändert hat
(:template last {=$Group}:)
Markup-Ausgabe nur für die Seite, für die der Wert von $Group sich mit der nächsten Seite ändern wird

Also haben wir:

[[#template]]
(:template defaults order=name:)
(:template first:)
Pages ordered by group
(:template first {=$Group}:)

Pages in group [[{=$Group}/]]
(:template each:)
* [[{=$FullName}]]
(:template last {=$Group}:)
   {=$Group} contains {$$GroupPageCount} pages.
(:template last:)
   {$$PageCount} pages total.
[[#templateend]] 

Zusätzliche Seitenvariablen für Seitenlistenvorlagen

Zusätliche Seitenspezifische Variablen, die nur während der Seitenlisten erreichbar sind:

{$$PageCount}       Die aktuelle Seitenzählung für diese Iteration
{$$GroupCount}      Die aktuelle Gruppenzählung für diese Iteration
{$$GroupPageCount}  Die aktuelle Seitenzählung innerhalb der Gruppe für diese Iteration
{$$EachCount}       Die aktuelle Seitenzählung innerhalb der aktuellen Schleife
{$$option}          Die Werte des Arguments 'option' von (:pagelist:)

{$$EachCount} steigt mit jeder Seite der Seitenliste und wird zurückgesetzt, wenn ein (:template first {=$Property}:)- oder ein (:template last {=$Property}:)-Abschnitt ausgegeben wird. Das kann nützlich sein, wenn eine Seitenliste nach einer Seiten(text)variablen oder einer anderen Eigenschaft sortiert ist, und die Seiten mit der gleichen Eigenschaft gruppiert werden sollen. Wenn die Sortierung $Group und die Eigenschaft "{=$Group}" ist, sind {$$EachCount} und {$$GroupPageCount} das Gleiche (Siehe Test/EachCount für Beispiele).

Gebrauch von {$$''option''}: zum Beispiel gibt {$$trail} den Seitennamen zurück, der in die trail=-Option der Seitenlisten-Direktive (:pagelist trail=...:) eingegeben wurde. Sie können eigene "Optionen" mit keinem anderen Zweck als in der Seitenliste angezeigt zu werden.

Redirect

Um die Suche nach Seiten zu ermöglichen, die nur genau eine Seite zurückliefern, und um dann anschließend gleich automatisch zu dieser Seite zu springen, fügt man das Folgende zur Seitenlistenvorlage hinzu, in der diese "Springe zu der Seite"-Funktionalität gewünscht ist:

(:template last:)
(:if equal {$$PageCount} 1:)(:redirect {=$FullName}:)(:ifend:)

Abschließen von Markups

Alle offenen Tabellen, Divs oder sonstigen Strukturen im Inneren von (:pagelist:) werden standardmäßig am Ende des Seitenlistenkommandos geschlossen. Mit anderen Worten, (:pagelist:) benimmt sich, als sei es eine komplette eigene Seite, als sei sie eben nicht dazu da, Markups zu produzieren, die dann in eine einschließende Seite eingebettet werden.

So wird z. B. eine Tabelle, die mit einer (:cell:)-Direktive im ersten (:pagelist:)-Kommando erzeugt wurde, am Ende dieser Seitenliste automatisch geschlossen. Die (:cell:)-Direktive im nächsten (:pagelist:)-Kommando startet dann eine neue Tabelle.

Anmerkung: Nicht die @(:table:)@]-Direktive öffnet eine Tabelle, es ist die (:cell:)- oder (:cellnr:)-Direktive, die das tut. Die (:table:)-Direktive ist dazu da, um ein paar Attribute für die dann folgende Tabelle setzen.

Einsatz

Es ist ratsam, die Seite Site.PageListTemplates nicht direkt zu verändern, so dass Sie weiterhin von Upgrades profitieren. Stattdessen sollten Sie die betreffende Vorlage in Ihre Site.LocalTemplates?-Seite kopieren und dort verändern (und umbenennen). Die Seite Site.LocalTemplates ist nicht Teil der PmWiki-Distribution und muss ggf. erst angelegt werden. Cookbook:PagelistTemplateSamples enthält viele Beispiele, wie Sie Seitenlistenformate an Ihre eigenen Bedürfnisse anpassen können.

Weitere Rezepte

Zusätzlich gibt es in den Kochbüchern weitere Rezepte für besondere fmt=-Optionen, einschließlich fmt=dictindex (alphabetischer Index) und fmt=forum (Forumsbeiträge).

für die Liste aller Seiten


Übersetzung von PmWiki.PageListTemplates,   Originalseite auf PmWikiDe.PageListTemplates   —   Backlinks

Zuletzt geändert:   PmWikiDe.PageListTemplatesam 01.05.2023
 PmWiki.PageListTemplatesam 30.04.2023
Edit - History - Print - Recent Changes - Search
Page last modified on May 01, 2023, at 05:57 AM