baginski
I'm new here

Generic Navigation: tieferliegende Punkte einblenden

Jump to solution

Hallo,

Wenn man Navgigationspunkte in der Navigation unsichtbar in der Navigation setzt, gilt das automatisch für alle tieferliegenden

Ebenen auch, d.h. es wird hierfür keine Navigation erzeugt.

Gibt es eine Möglichkeit, es möglichst einfach zu umgehen (Hintergrund ist eine Anforderung, in der genau solches passieren soll..)

Die Navigationsfunktionen für Toplevel-Navigation und DTN sind dabei getrennt..

Ich habe schon überlegt, ob man mit Strukturvariablen etwas erreichen kann, habe aber das dumpfe Gefühl, daß es ein ganz schönes Gefuddel mit

Scripting und Navigationsfunktion gibt..

Wenn jemand eine Idee hat.. Smiley Wink

Gruß,

Michael

0 Kudos
1 Solution

Accepted Solutions
hoebbel
Crownpeak employee

Hallo Michael,

wenn es keine Sitemap in dem Projekt gibt (oder in der Sitemap alles dargestellt werden soll), dann kannst Du einfach die Sitemap zweckentfremden. Die Navigation "ganz normal" definieren und einfach <CMS_PARAM name="siteMap" value="1"/> hinzufügen. Das bewirkt dann, dass der Haken "Navigationsmenü in Übersicht (Sitemap) anzeigen?" anstelle von "Im Navigationsmenü anzeigen=?" ausgewertet wird.

Der nächste Ansatzpunkt wäre es, wenn man die Ordner über einen Metadateneintrag auf "nicht anzeigen" setzt. Dann muss man natürlich in der Navigation abfragen, ob der aktuelle Ordner dargestellt werden soll oder nicht (#nav.folder.meta("...","inherit"))

Ansonsten kann man natürlich "ganz normal" im FirstSpirit Template sich zum Beispiel den aktuellen Ordner holen und über dessen Kinder iterieren. Die Sichtbaren sollen dann angezeigt werden:

$CMS_FOR(folder,#global.node.parent.getChildren(#global.node.parent.class))$

$CMS_IF(folder.getFolderLangSpec(#global.language).isVisible())$

<Navigationspunktausgabe>

$CMS_END_IF$

$CMS_END_FOR$

Hier wird es alllerdings etwas unangenehm, wenn man geerbte Strukturvariablen benötigt, da man diese sich selber holen muss (iteration bis zur Struktur-Wurzel).

Gegebenenfalls kann ich Dir hier auch ein Beispiel geben...

Wenn keine der Lösungen ausreichend ist, beschreibe bitte nochmal genau, was Du wann wo brauchst Smiley Wink

Viele Grüsse aus Dortmund,

  Holger

View solution in original post

0 Kudos
2 Replies
hoebbel
Crownpeak employee

Hallo Michael,

wenn es keine Sitemap in dem Projekt gibt (oder in der Sitemap alles dargestellt werden soll), dann kannst Du einfach die Sitemap zweckentfremden. Die Navigation "ganz normal" definieren und einfach <CMS_PARAM name="siteMap" value="1"/> hinzufügen. Das bewirkt dann, dass der Haken "Navigationsmenü in Übersicht (Sitemap) anzeigen?" anstelle von "Im Navigationsmenü anzeigen=?" ausgewertet wird.

Der nächste Ansatzpunkt wäre es, wenn man die Ordner über einen Metadateneintrag auf "nicht anzeigen" setzt. Dann muss man natürlich in der Navigation abfragen, ob der aktuelle Ordner dargestellt werden soll oder nicht (#nav.folder.meta("...","inherit"))

Ansonsten kann man natürlich "ganz normal" im FirstSpirit Template sich zum Beispiel den aktuellen Ordner holen und über dessen Kinder iterieren. Die Sichtbaren sollen dann angezeigt werden:

$CMS_FOR(folder,#global.node.parent.getChildren(#global.node.parent.class))$

$CMS_IF(folder.getFolderLangSpec(#global.language).isVisible())$

<Navigationspunktausgabe>

$CMS_END_IF$

$CMS_END_FOR$

Hier wird es alllerdings etwas unangenehm, wenn man geerbte Strukturvariablen benötigt, da man diese sich selber holen muss (iteration bis zur Struktur-Wurzel).

Gegebenenfalls kann ich Dir hier auch ein Beispiel geben...

Wenn keine der Lösungen ausreichend ist, beschreibe bitte nochmal genau, was Du wann wo brauchst Smiley Wink

Viele Grüsse aus Dortmund,

  Holger

0 Kudos

Hallo Holger,

Es hilft mir schon weiter: mit dem Sitemap-Parameter möchte ich vorsichtig sein, da ich in dem sehr umfangreichen Projekt nicht sicher bin, ob es Nebenwirkungen gibt.und auf einmal Menüpunkte auftauchen, die vorher versteckt waren.

Ich teste mal Ansatz 2 aus.

Danke schonmal & Gruß,

Michael

0 Kudos