- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Problem mit Footernavigation
Hallo Zusammen,
ich habe folgendes Problem, welches ich noch nicht lรถsen konnte.
In der Footernavigation sollen lediglich Teile der Hauptnavigation anzeigt werden.
Die Gesamtnavigation besteht z.B. aus den Navigationsoberpunkten Verkaufen Kaufen Finanzieren und Unternehmen.
Im Footer sollen jedoch nur die Navigationspunkte fรผr Verkaufen, Kaufen und Finanzieren angezeigt werden, also nur eine Teilmenge der Gesamtnavigation.
Wie kann ich dies meiner Navigationsfunktion รผbergeben? Anhand von gesetzten Variablen in der Struktur auf dein einzelnen Navigationsoberordnern? Hat hier jemand einen Lรถsungsansatz? Kann ich hier einen Parameter dynamisieren fรผr <CMS_VALUE_PARAM name="root" value="XYZ"? Oder wie kรถnnte man soetwas technisch umsetzen?
Danke fรผr euere Hilfe
<CMS_FUNCTION name="Navigation" resultname="fr_footernavi">
<CMS_PARAM name="expansionVisibility" value="all"/>
<CMS_PARAM name="wholePathSelected" value="1"/>
<CMS_PARAM name="suppressEmptyFolders" value="1" />
<CMS_VALUE_PARAM name="root" value="ss_navRoot"/>
<CMS_ARRAY_PARAM name="beginHTML">
<CMS_ARRAY_ELEMENT index="0"><![CDATA[<ul>]]></CMS_ARRAY_ELEMENT>
<CMS_ARRAY_ELEMENT index="1"><![CDATA[<li>]]></CMS_ARRAY_ELEMENT>
</CMS_ARRAY_PARAM>
<CMS_ARRAY_PARAM name="unselectedHTML">
<CMS_ARRAY_ELEMENT index="0"><![CDATA[]]></CMS_ARRAY_ELEMENT>
<CMS_ARRAY_ELEMENT index="1"><![CDATA[<a href="$CMS_REF(#nav.ref)$">$CMS_VALUE(#nav.label.convert2())$</a>]]></CMS_ARRAY_ELEMENT>
</CMS_ARRAY_PARAM>
<CMS_ARRAY_PARAM name="selectedHTML">
<CMS_ARRAY_ELEMENT index="0"><![CDATA[]]></CMS_ARRAY_ELEMENT>
<CMS_ARRAY_ELEMENT index="1"><![CDATA[<a href="$CMS_REF(#nav.ref)$">$CMS_VALUE(#nav.label.convert2())$</a>]]></CMS_ARRAY_ELEMENT>
</CMS_ARRAY_PARAM>
<CMS_ARRAY_PARAM name="endHTML">
<CMS_ARRAY_ELEMENT index="0"><![CDATA[</ul>]]></CMS_ARRAY_ELEMENT>
<CMS_ARRAY_ELEMENT index="1"><![CDATA[</li>]]></CMS_ARRAY_ELEMENT>
</CMS_ARRAY_PARAM>
</CMS_FUNCTION>
</CMS_HEADER>
$CMS_VALUE(fr_footernavi)$
- Labels:
-
Developers
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Florian,
Vorab: Du kannst generell bei der Navigationsfunktion nicht mit einer Liste von Root-Knoten arbeiten. Hier Infos zu nutzen wie "in der Sitemap anzeigen" bzw. "im Navigationsmenรผ anzeigen" halte ich auch fรผr ungรผnstig, weil man damit diese Einstellungen fรผr den Footer "verbraucht".
Letztlich stellt sich die Frage, wie/wo/wieherum man definieren will, welche Knoten in der Navigation enthalten sein sollen.
- Pflege der "soll fรผr mich eine Footer-Nav erzeugt werden"-Infos am Ordner (z.B. รผber Metadaten) => eine komplette Navigation "filtern"
- Zentrale Pflege einer Liste von Startknoten aus denen die Footer-Nav bestehen soll
Zu Variante 1)
Man kann hier im Rahmen der Navigationsfunktion natรผrlich beliebige Infos der Knoten abfragen und abhรคngig davon dann die Ausgabe unterdrรผcken. Fรผr tiefer gelegene Knoten mรผsste man dann aber ggf. "hoch laufen" - oder auch mit Metadaten im Sitestore (+inherit) arbeiten.
Bei dieser Variante gรคbe es dann um alle mรถglichen Ausgaben ein $CMS_IF$ in der Navigation.
Zu Variante 2)
man kรถnnte hier einen anderen "expliziteren" Ansatz wรคhlen - nรคmlich nicht "eine Untermenge der Hauptnavigation" sondern einfach "eine Liste von Sub-Navigationen, jeweils ausgehend von einem definierten Startknoten".
Die technische Idee wรคre hier schlicht, drei (bzw. x) "einzelne" Navigationen zu erzeugen (nรคmlich die fรผr Verkaufen, Kaufen und Finanzieren). Machbar wรคre das, indem man die entsprechenden Ordner mit Hilfer einer FS_LIST pflegt (FS_LIST, darin Linktemplates die jeweils eine FS_REFERENCE auf Sitestore-Folder enthalten). Das Linktemplate rendert dann nur die Navigation "seines" Punktes, indem es die UID "seines" Punktes als root einer Navigation benutzt, in etwa
<CMS_VALUE_PARAM name="root" value='"pagefolder:"+lt_root.uid' />
... wenn lt_root der Name der FS_REFERENCE ist, die auf pagereffolder eingeschrรคnkt ist.
Wo man diese FS_LIST unterbringt kommt ein bisschen drauf an - denkbar ist hier z.B. ein Seitentemplate, aus dem man dann eine globale Footer-Seite erstellt, die man per #global.gca(...) einbindet. Alternativ kann man die natรผrlich auch in den Projekteinstellungen ablegen.
Letztlich gibt man einfach alle enthaltenen Werte รผber das innere Linktemplates aus - und dadurch einmal pro Ordner.
Hier muss man natรผrlich noch darauf achten, bei der Ausgabe dann mit Level 0 zu beginnen und nicht mit Level 1.
Viele Grรผรe
Michael
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Florian,
benรถtigst Du noch weitere Hilfe oder hat Dir die Antwort von Michael bereits geholfen? In diesem Fall wรคre es super, wenn Du die "richtige Antwort" entsprechend markierst, damit auch andere Community-Teilnehmer diese auf den ersten Blick finden. Solltest Du zwischenzeitlich eine eigene Lรถsung gefunden haben, wรคre es nett, wenn Du diese hier bereitstellst.
Viele Grรผรe
Tim