we:DevEdge

the webEdition code base

we:Tags

<we:navigationEntry>

Unternavigationspunkte separat anzeigen

Autor: Dirk Einecke (we:DevEdge / appsolute GmbH) / Kommentare (0)
Geschrieben am 19.08.2006 um 09:56 Uhr / Letzte Änderung am 19.08.2006 um 18:02 Uhr


Möchte man die Unternavigationspunkte separat ausgeben, dann muss man nach der Initialisierung einer neuen Navigation zunächst festlegen, dass alle Ordner und deren Inhalt nicht ausgegeben werden soll. Dies klingt zunächst etwas seltsam, basiert aber auf der Tatsache, dass standardmäßig - also ohne irgendwelche Definitionen für die Ausgabe - alle Ordner und deren Inhalt ausgegeben werden:

<we:navigation navigationname="menu_sub" parentid="1" />
<we:navigationEntry navigationname="menu_sub" type="folder"></we:navigationEntry>

Im zweiten Schritt legt man fest, dass alle Einträge des aktiven Navigationspunktes ausgegeben werden sollen. Verwendet man für die Ausgabe so wie in diesem Beispiel eine Liste, dann muss man darauf achten, dass man das umschließende <ul>-Tag nur dann ausgibt, wenn für den aktiven Navigationspunkt auch wirklich Einträge vorhanden sind. Dies erreicht man durch das <we:ifHasEntries>-Tag:

<we:navigationEntry navigationname="menu_sub" type="folder" current="true">
  <we:ifHasEntries><ul><we:navigationEntries /></ul></we:ifHasEntries>
</we:navigationEntry>

Danach kann man die Ausgabe für die gewünschte Ebene (Level) beliebig gestalten:

<we:navigationEntry navigationname="menu_sub" type="folder" level="2">
  <li><a href="<we:navigationField name="href" />"><we:navigationField name="text" /></a></li>
</we:navigationEntry>
<we:navigationEntry navigationname="menu_sub" type="folder" level="2" current="true">
  <li><a href="<we:navigationField name="href" />"><strong><we:navigationField name="text" /></strong></a></li>
</we:navigationEntry>

Im letzten Schritt gibt man dann die so zusammengestellte Navigation aus:

<we:navigationWrite navigationname="menu_sub" />
Der vollständige Quelltext sieht nun so aus:

<!-- Navigation initialisieren -->
<we:navigation navigationname="menu_sub" parentid="1" />

<!-- Ordner und deren Inhalt nicht ausgeben -->
<we:navigationEntry navigationname="menu_sub" type="folder"></we:navigationEntry>

<!-- Wenn ein Ordner im aktuellen Navigations-Pfad liegt, dann sollen dessen Einträge ausgegeben werden -->
<we:navigationEntry navigationname="menu_sub" type="folder" current="true">
  <we:ifHasEntries><ul><we:navigationEntries /></ul></we:ifHasEntries>
</we:navigationEntry>

<!-- Definition der Ausgabe -->
<we:navigationEntry navigationname="menu_sub" type="folder" level="2">
  <li><a href="<we:navigationField name="href" />"><we:navigationField name="text" /></a></li>
</we:navigationEntry>
<we:navigationEntry navigationname="menu_sub" type="folder" level="2" current="true">
  <li><a href="<we:navigationField name="href" />"><strong><we:navigationField name="text" /></strong></a></li>
</we:navigationEntry>

<!-- Navigation ausgeben -->
<we:navigationWrite navigationname="menu_sub" />

Weitere Informationen finden Sie in der we:Tag-Referenz:

Helfen Sie mit!

Helfen Sie mit! - Symbol
Sollten Sie für dieses we:Tags-Eintrag einen Verbesserungsvorschlag, Tipp oder Hinweis haben oder einen Fehler entdeckt haben, dann schreiben Sie dies einfach als Kommentar (Registrierung & Login erforderlich) oder senden Sie eine E-Mail über das Kontaktformular.

Kommentare (0)

Kommentar hinzufügen
Um selber einen Kommentar schreiben zu können müssen Sie sich registrieren und einloggen.