Vorlage:Navigationsschleife: Unterschied zwischen den Versionen

Aus Splitterwiki
Zur Navigation springen Zur Suche springen
 
(19 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 39: Zeile 39:
 
Klicke auf „Bearbeiten“, um den Vorlagentext anzusehen.
 
Klicke auf „Bearbeiten“, um den Vorlagentext anzusehen.
 
</noinclude><includeonly><!-- START  
 
</noinclude><includeonly><!-- START  
-->{{#if:  {{{Hauptkategorie|}}} {{WikilinkWeg|{{#ask:[[{{PAGENAME}}]]|?Hauptkategorie=|link=none| mainlabel=-}}}}
 
    | {{#if: {{{Vaterseiten|}}} {{WikilinkWeg|{{#ask:[[{{PAGENAME}}]]|?Vaterseiten=|link=none| mainlabel=-}}}}
 
    |<!--
 
--><!-- START Ermittlung Standard
 
-->{{#vardefine:DieseSeite|{{#if:{{{DieseSeite|}}}|{{{DieseSeite}}}|{{PAGENAME}}}}}}<!--
 
-->{{#vardefine:Hauptkategorie|{{#if:{{{Hauptkategorie|}}}|{{{Hauptkategorie}}}|{{#ask:[[{{PAGENAME}}]]|?Hauptkategorie=|link=none| mainlabel=-}}}}}}<!--
 
-->{{#vardefine:Vaterseiten|{{#if:{{{Vaterseiten|}}}|{{{Vaterseiten}}}|{{#explode:{{#ask:[[{{PAGENAME}}]]|?Vaterseiten=|link=none| mainlabel=-}}|,|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
+
--> {{#if: {{#show:{{PAGENAME}}|?Vaterseiten#}}<!--
-->{{#vardefine:Zähler|-1}}<!--
+
  -->|<!--
-->{{#ifexpr: {{#var:NaviPos}} = {{#var:NaviPos-}}<!--
+
 
  -->|{{#vardefine:NaviZurück|}}<!--
+
    -->{{#vardefine: DieseSeite | {{PAGENAME}} }}<!--
  -->|{{#vardefine:NaviZurück|{{#arraymap:{{#var:NaviListe}}|@//@|@@@@|{{#vardefine:Zähler|{{#expr:{{#var:Zähler}}+1}}}}{{#ifeq:{{#var:NaviPos-}}|{{#var:Zähler}}|@@@@|}}|}}}}<!--
+
    -->{{#vardefine: Vaterseiten | {{{Vaterseiten}}} }}<!-- Statt Explode, Vaterseite aus den Template aufruf, dann funktioniert es auch
 +
 
 +
    -->{{#vardefine: Zähler | -1 }}<!--
 +
    -->{{#vardefine: NaviListe | {{#ask:[[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}}}}}}<!--
 +
 
 +
    -->{{#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|&nbsp;&lArr;&nbsp;}}<!--
 +
    -->{{#vardefine: Linkpfeil.Weiter|&nbsp;&rArr;&nbsp;}}<!--
 +
    -->{{#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|&#32;}}<!--
 +
      -->}}<!--
 +
    -->{{#if: {{#var:NaviWeiter}}<!--
 +
      -->| {{#vardefine: NaviWeiter.Linkpfeil|[[{{#var:NaviWeiter}}{{!}}<span title="{{#var:Vaterseiten}} weiterblättern ({{#var:NaviWeiter}})">{{#var:Linkpfeil.Weiter}}</span>]]}}<!--
 +
      -->| {{#vardefine: NaviWeiter.Linkpfeil|&#32;}}<!--
 +
      -->}}<!--
 +
    -->{{#vardefine: Navi.Komplett | {{#var:NaviZurück.Linkpfeil}}[[{{#var:Vaterseiten}}]]{{#var:NaviWeiter.Linkpfeil}} }}<!--
 +
    --><!-- ENDE Ausgabe
 +
  -->|<!--
 
   -->}}<!--
 
   -->}}<!--
-->{{#vardefine:Zähler|-1}}<!--
+
--><!-- ENDE  
-->{{#ifexpr: {{#var:NaviPos}} = {{#var:NaviPos+}}<!--
+
 
  -->|{{#vardefine:NaviWeiter|}}<!--
+
--><!-- START Debug <br />
  -->|{{#vardefine:NaviWeiter|{{#arraymap:{{#var:NaviListe}}|@//@|@@@@|{{#vardefine:Zähler|{{#expr:{{#var:Zähler}}+1}}}}{{#ifeq:{{#var:NaviPos+}}|{{#var:Zähler}}|@@@@|}}|}}}}<!--
 
  -->}}<!--
 
-->{{#vardefine: Linkpfeil.Zurück|&nbsp;&lArr;&nbsp;}}<!--
 
-->{{#vardefine: Linkpfeil.Weiter|&nbsp;&rArr;&nbsp;}}<!--
 
-->{{#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|&#32;}}<!--
 
  -->}}<!--
 
-->{{#if: {{#var:NaviWeiter}}<!--
 
  -->|{{#vardefine: NaviWeiter.Linkpfeil|[[{{#var:NaviWeiter}}{{!}}<span title="{{#var:Vaterseiten}} weiterblättern ({{#var:NaviWeiter}})">{{#var:Linkpfeil.Weiter}}</span>]]}}<!--
 
  -->|{{#vardefine: NaviWeiter.Linkpfeil|&#32;}}<!--
 
  -->}}<!--
 
-->{{#vardefine: Navi.Komplett|{{#var:NaviZurück.Linkpfeil}}[[{{#var:Vaterseiten}}]]{{#var:NaviWeiter.Linkpfeil}}}}<!--
 
--><!-- ENDE Ausgabe
 
-->|}}
 
|}}<!-- ENDE --><!-- START Debug <br />
 
 
'''<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 />
Zeile 91: Zeile 103:
 
'''<nowiki>{{#var:NaviWeiter.Linkpfeil}}</nowiki>''' = {{#var:NaviWeiter.Linkpfeil}}<br />
 
'''<nowiki>{{#var:NaviWeiter.Linkpfeil}}</nowiki>''' = {{#var:NaviWeiter.Linkpfeil}}<br />
 
'''<nowiki>{{#var:Navi.Komplett}}</nowiki>''' = {{#var:Navi.Komplett}}<br />
 
'''<nowiki>{{#var:Navi.Komplett}}</nowiki>''' = {{#var:Navi.Komplett}}<br />
--><!-- ENDE Debug
+
<!-- ENDE Debug
 
--></includeonly>
 
--></includeonly>

Aktuelle Version vom 22. November 2020, 23:53 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 Beispiel: Fedirin mit Vaterseiten Farukan

{{#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.