- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Navigation durchnummerieren
Hallo Community,
in der Navigations-Funktion (<CMS_HEADER>) mรถchte ich gerne die Navigationspunkte und deren Unternavigationspunkte durchnummerieren.
<item id="0">
<item id="0.0"></item>
<item id="0.1">
<item id="0.1.1"></item>
</item>
<item id="0.2"></item>
</item>
<item id="1"></item>
Wie kann man das am besten realisieren?
Viele Grรผรe
Timo
- Labels:
-
Developers
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Timo,
das sollte in Deinem Fall durch Nutzung von #nav.positions[levelIndex] machbar sein. Du bekommst dabei jeweils die Position in der รผbergebenen Ebene. Fรผr den Ordner 2.4.6 wรคre #nav.positions[1] also 4.
Um den kompletten โEbenen-Level-Pfadโ in jedem Element auszugeben, sollte etwas wie folgt funktionieren (nicht getestet, nur fรผr die Idee, ggf. noch irgendwo +/- 1 einbauen):
<item id="$CMS_VALUE([0..#nav.level].map(x->#nav.positions[x]).toString("."))$">...
Viele Grรผรe
Michael
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Das sollte sich mit #nav.level und #nav.levelPos zusammenbasteln lassen.
#nav.level: Nummer der Navigationsebene. Die Zรคhlung beginnt mit 0.
#nav.levelPos: Position des aktuellen Ordners in der aktuellen Ebene. Die Zรคhlung beginnt mit 0.
Mit ein bisschen zusรคtzlicher Logik solltest Du dann den "Zahlenstring" erhalten.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Das ist richtig. Mit Abfragen klappt das schon.
$CMS_IF(#nav.level==0)$
$CMS_VALUE(#nav.levelPos)$
$CMS_ELSIF(#nav.level==1)$
$CMS_VALUE(#nav.folder.parent.getPosition+"_"+#nav.levelPos)$
$CMS_ELSIF(#nav.level==2)$
$CMS_VALUE(#nav.folder.parent.parent.getPosition+"_"+#nav.folder.parent.getPosition+"_"+#nav.levelPos)$
...
$CMS_END_IF$
Ich dachte nur, vielleicht geht es etwas eleganter? Mit dem Hintergrund, dass man im vorhinein nicht genau weiร, wie viele Ebenen es geben wird.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Timo,
das sollte in Deinem Fall durch Nutzung von #nav.positions[levelIndex] machbar sein. Du bekommst dabei jeweils die Position in der รผbergebenen Ebene. Fรผr den Ordner 2.4.6 wรคre #nav.positions[1] also 4.
Um den kompletten โEbenen-Level-Pfadโ in jedem Element auszugeben, sollte etwas wie folgt funktionieren (nicht getestet, nur fรผr die Idee, ggf. noch irgendwo +/- 1 einbauen):
<item id="$CMS_VALUE([0..#nav.level].map(x->#nav.positions[x]).toString("."))$">...
Viele Grรผรe
Michael
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Michael,
das ist perfekt!!! Genau das habe ich gesucht.
Funktioniert genau, wie von Dir angegeben.
Danke und viele Grรผรe
Timo

