Vorlage:Navigationsschleife: Unterschied zwischen den Versionen
Maggus (Diskussion | Beiträge) K (Änderungen von Maggus (Diskussion) wurden auf die letzte Version von Stewie zurückgesetzt) Markierung: Zurücksetzung |
Maggus (Diskussion | Beiträge) (Syntax aufgeräumt) |
||
Zeile 39: | Zeile 39: | ||
Klicke auf „Bearbeiten“, um den Vorlagentext anzusehen. | Klicke auf „Bearbeiten“, um den Vorlagentext anzusehen. | ||
</noinclude><includeonly><!-- START | </noinclude><includeonly><!-- START | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | --><!-- START Ausgabe | + | -->{{#if: {{{Hauptkategorie|}}} {{#show:{{PAGENAME}}|?Hauptkategorie#}}<!-- |
− | -->{{#vardefine:Zähler|-1}}<!-- | + | -->| {{#if: {{{Vaterseiten|}}} {{#show:{{PAGENAME}}|?Vaterseiten#}}<!-- |
− | -->{{#ifexpr: {{#var:NaviPos}} = {{#var:NaviPos-}}<!-- | + | -->|<!-- |
− | + | --><!-- START Ermittlung Standard | |
− | + | -->{{#vardefine: DieseSeite | {{PAGENAME}} }}<!-- | |
+ | -->{{#vardefine: Hauptkategorie| {{#show:{{PAGENAME}}|?Hauptkategorie#-}} }}<!-- | ||
+ | -->{{#vardefine: Vaterseiten | {{#explode: {{#show:{{PAGENAME}}|?Vaterseiten#-}} | , | 0 }} }}<!-- | ||
+ | |||
+ | -->{{#vardefine: Zähler | -1 }}<!-- | ||
+ | -->{{#vardefine: NaviListe | {{#ask:[[Hauptkategorie::{{#var:Hauptkategorie}}]][[Vaterseiten::{{#var:Vaterseiten}}]]|link=none|limit=100000|sep=@//@}}}}<!-- | ||
+ | -->{{#vardefine:NaviPos|{{#arraymap:{{#var:NaviListe}}|@//@|@@@@|{{#vardefine:Zähler|{{#expr:{{#var:Zähler}}+1}}}}{{#ifeq:{{PAGENAME:@@@@}}|{{#var:DieseSeite}}|{{#var:Zähler}}|}}|}}}}<!-- | ||
+ | -->{{#vardefine:NaviPos-|{{#ifexpr:{{#var:NaviPos}}=0|{{#var:Zähler}}|{{#expr:{{#var:NaviPos}}-1}}}}}}<!-- | ||
+ | -->{{#vardefine:NaviPos+|{{#ifexpr:{{#var:NaviPos}}={{#var:Zähler}}|0|{{#expr:{{#var:NaviPos}}+1}}}}}}<!-- | ||
+ | --><!-- ENDE Ermittlung Standard | ||
+ | |||
+ | --><!-- START Ausgabe | ||
+ | -->{{#vardefine:Zähler|-1}}<!-- | ||
+ | -->{{#ifexpr: {{#var:NaviPos}} = {{#var:NaviPos-}}<!-- | ||
+ | -->|{{#vardefine:NaviZurück|}}<!-- | ||
+ | -->|{{#vardefine:NaviZurück|{{#arraymap:{{#var:NaviListe}}|@//@|@@@@|{{#vardefine:Zähler|{{#expr:{{#var:Zähler}}+1}}}}{{#ifeq:{{#var:NaviPos-}}|{{#var:Zähler}}|@@@@|}}|}}}}<!-- | ||
+ | -->}}<!-- | ||
+ | -->{{#vardefine:Zähler|-1}}<!-- | ||
+ | -->{{#ifexpr: {{#var:NaviPos}} = {{#var:NaviPos+}}<!-- | ||
+ | -->| {{#vardefine:NaviWeiter|}}<!-- | ||
+ | -->| {{#vardefine:NaviWeiter|{{#arraymap:{{#var:NaviListe}}|@//@|@@@@|{{#vardefine:Zähler|{{#expr:{{#var:Zähler}}+1}}}}{{#ifeq:{{#var:NaviPos+}}|{{#var:Zähler}}|@@@@|}}|}}}}<!-- | ||
+ | -->}}<!-- | ||
+ | -->{{#vardefine: Linkpfeil.Zurück| ⇐ }}<!-- | ||
+ | -->{{#vardefine: Linkpfeil.Weiter| ⇒ }}<!-- | ||
+ | -->{{#if: {{#var:NaviZurück}}<!-- | ||
+ | -->| {{#vardefine: NaviZurück.Linkpfeil|[[{{#var:NaviZurück}}{{!}}<span title="{{#var:Vaterseiten}} zurückblättern ({{#var:NaviZurück}})">{{#var:Linkpfeil.Zurück}}</span>]]}}<!-- | ||
+ | -->| {{#vardefine: NaviZurück.Linkpfeil| }}<!-- | ||
+ | -->}}<!-- | ||
+ | -->{{#if: {{#var:NaviWeiter}}<!-- | ||
+ | -->| {{#vardefine: NaviWeiter.Linkpfeil|[[{{#var:NaviWeiter}}{{!}}<span title="{{#var:Vaterseiten}} weiterblättern ({{#var:NaviWeiter}})">{{#var:Linkpfeil.Weiter}}</span>]]}}<!-- | ||
+ | -->| {{#vardefine: NaviWeiter.Linkpfeil| }}<!-- | ||
+ | -->}}<!-- | ||
+ | -->{{#vardefine: Navi.Komplett | {{#var:NaviZurück.Linkpfeil}}[[{{#var:Vaterseiten}}]]{{#var:NaviWeiter.Linkpfeil}} }}<!-- | ||
+ | --><!-- ENDE Ausgabe | ||
+ | -->|<!-- | ||
+ | -->}}<!-- | ||
+ | -->}}<!-- | ||
+ | -->|<!-- | ||
-->}}<!-- | -->}}<!-- | ||
− | + | --><!-- ENDE | |
− | + | ||
− | + | --><!-- START Debug <br /> | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | --><!-- ENDE | ||
− | |||
− | |||
'''<nowiki>{{#var:DieseSeite}}</nowiki>''' = {{#var:DieseSeite}}<br /> | '''<nowiki>{{#var:DieseSeite}}</nowiki>''' = {{#var:DieseSeite}}<br /> | ||
'''<nowiki>{{#var:Hauptkategorie}}</nowiki>''' = {{#var:Hauptkategorie}}<br /> | '''<nowiki>{{#var:Hauptkategorie}}</nowiki>''' = {{#var:Hauptkategorie}}<br /> |
Version vom 3. September 2020, 16:31 Uhr
Dies ist die Vorlage „Navigationsschleife“. Sie gibt für die jeweils aktuelle Seite innerhalb einer gesetzten Hauptkategorie (z. B. Region) für eine gesetzte Vaterseite (z. B. Dragorea) die vorhergehende und die nachfolgende Seite an. Mit diesen Seiten können Weiter- und Zurück-Elemente verlinkt werden, so dass es möglich wird, sich in einer Schleife durchzunavigieren. Es werden allerdings ausschließlich Seiten berücksichtigt, die sowohl über das Attribut "Hauptkategorie" als auch über das Attribut "Vaterseiten" verfügen. Die Vorlage wird im folgenden Format genutzt:
{{Navigationsschleife}}
Die Vorlage gibt folgende Variablen zurück, die beliebig eingebunden werden können:
Code | Erläuterung | }} |
---|---|---|
{{#var:NaviZurück}} |
= Die Seite, welche alphabetisch der aktuellen Seite vorhergeht (plain, also unverlinkt) | |
{{#var:NaviWeiter}} |
= Die Seite, welche alphabetisch auf die aktuelle Seite folgt (plain, also unverlinkt) | |
{{#var:NaviZurück.Linkpfeil}} |
= Ein mit der Vorseite verlinktes Pfeilsymbol | |
{{#var:NaviWeiter.Linkpfeil}} |
= Ein mit der Folgeseite verlinktes Pfeilsymbol | |
{{#var:Navi.Komplett}} |
= Vaterseite mit Pfeilsymbolen links/rechts, vollständig verlinkt | [[]] |
Im Standardfall wird die Vorlage auf einer Seite eingebunden, die bereits über die Attribute Hauptkategorie und Vaterseiten verfügen. Das ist namentlich der Fall bei allen Regionen, Landschaftsgebieten, Gewässern, Örtlichkeiten, Siedlungen sowie Personen.
Optional ist es allerdings möglich, der Vorlage die Parameter DieseSeite (=Seite, von der die Navigationsschleife ausgeht), Hauptkategorie und/oder Vaterseite individuell mitzugeben. Die Parameter müssen unverlinkter Fließtext sein, da die Weiterverarbeitung mit Wikilinks nicht möglich ist. Für die optionalen Parameter ist folgendes Format zu nutzen:
{{Navigationsschleife | DieseSeite = <Unverlinkter Text> | Hauptkategorie = <Unverlinkter Text> | Vaterseiten = <Unverlinkter Text> }}
Klicke auf „Bearbeiten“, um den Vorlagentext anzusehen.