ich habe zwar im Forum etwas gefunden mit dem man den letzten Navigationspunkt mit einer "last"-Klasse versehen kann, aber nichts um das auch in den Unterebenen zu tun.
Daher habe ich mir den Menü Manager und die darin enthaltene simple_navigation.tpl mal angesehen und etwas überarbeitet (kenne mich in smarty leider nicht ganz so gut aus, daher ist manches vielleicht etwas "überflüssig" programmiert, wer hier Spezi ist darf es gerne vereinfachen

Ich habe also nach der Zeile
Code: Select all
{foreach from=$nodelist item=node}
Code: Select all
01 {assign var="zaehler" value=$node->index}
02 {assign var="lastclass" value=""}
03 {assign var="lastclassadd" value=""}
04 {if $zaehler+1 < $count}
05 {assign var="zaehlerindex" value=$zaehler+1}
06 {if $nodelist[$zaehlerindex]->depth<$node->depth}
07 {assign var="lastclass" value=' class="last"'}
08 {assign var="lastclassadd" value=" last"}
09 {/if}
10 {/if}
Zeile 4: sicherstellen, dass wir nur im array aggieren
Zeile 5: einen, wahrscheinlich sinnlosen, Zähler definieren (leider ließ sich die Berechnung aus Zeile 5 nicht in Zeile 6 berechnen)
Zeile 6: vergleichen ob der nächste Navigationpunkt in einer höheren Ebene liegt als der aktuelle, daraus wird dann geschlossen, dass es der letzte Punkt in der Ebene ist und demnach eine "last" Klasse gesetzt werden kann.
Zeile 6: lastclass definieren für Elemente die noch keine Klasse haben
Zeile 7: lastclassadd definieren für Elemente die bereits eine Klasse haben
Zeile 9-10: if ende
Im Verlauf der Datei bei allen Listenelementen folgendermaßen vorgehen:
die Listenelemente die bereits Klassen haben, wie zB:
Code: Select all
<li class="currentpage">
Code: Select all
<li class="currentpage{$lastclassadd}">
Code: Select all
<li>
Code: Select all
<li{$lastclass}>
Code: Select all
<li class="last"><a href="url..." ><dfn>2.11: </dfn>Eintrag 1</a>
Code: Select all
<li class="currentpage last"><a href="url..." ><dfn>2.11: </dfn>Eintrag 1</a>
Ansprechen kann man den Eintrag dann zB mit (in der Navigation CSS):
Code: Select all
div#menu_vert ul li.last a { border-bottom:0px }
