Vorab:
Dank an flip-flop, der hier mal ein bisserl Klarheit reinbringt, welche Navigations-RT existieren und wie diese funktionieren.
Nun zum Problem/Feststellung:
Ich habe ein Sub-Menü auf meinen Seiten eingebaut mit NAV_LIST_UL.
So, wie hier mehrfach beschrieben, mit folgenden zu verwendenden Parametern:
menu_type ,start_id ,max_level ,class_path ,class_active ,ul_id_name ,wrap_ul_div (0 = off, 1 = <div>, 2 = <div id="">), wrap_link_text (<em>|</em>
Wie gewünscht funktionieren, tut dagegen lediglich folgender RT:
{NAV_LIST_UL:F,9,,subnavmenu,active}
wobei
'subnavmenu' die class ist, wodurch ich mit den CSS eine saubere verschachtelte UL-Liste erhalte.
und 'active' die Kosmetik des Menüs der aktiven Schalter regelt.
Frage am Rande: Was ist eigentlich 'class_path'??
Jetzt kommt der 1. Knüller:
( Hinweis: Die anderen Parameter habe ich weggelassen, keine Kommas usw. - wie flip-flop in seinen Beispielen.
Denn, ändere ich etwas an der Schreibweise des RT, erscheint gar kein Menü oder nur Müll!!!)
Mit dem RT: {NAV_LIST_UL:F,9,,subnavmenu,active}
erhalte ich vom Prinzip her etwa:
UL class ="subnavmenue"
li
li class ="active"
ABER NUR DANN, wenn dieser RT wie folgt eingebunden ist:
a) entweder auf der Seite mit der ID=9 oder
b) in dem Zweig, in dem auch die ID-9 liegt ALSO NUR auf Seiten oberhalb/unterhalb der Strukturebene 9
In diesen Fällen wäre das OK.
Klickt man im Menü aber auf eine andere Kategorie (ausserhalb des Zweiges ID-9), wird folgende Liste ausgegeben:
UL
li
li
Hier fehlt die class ="subnavmenue" im UL-Tag
Folge: Die Formartierung / CSS ist hin!!!!
Wieso wird ausserhalb der Strukturebenen-ID die angegebene Class (subnavmenue) "verschluckt"??
Wobei es hiermit klappt:
2. Knüller:
Das erwünschte Submenü lasse ich auf jeder Seite direkt durch folgenen PHP Code parsen:
Code: Select all
[PHP]
if(isset($GLOBALS['LEVEL_ID'][1])) {
$level_id = $GLOBALS['LEVEL_ID'][1];
echo '{NAV_LIST_UL:F,'.$level_id.',,subnavmenu,active}';
}
[/PHP]
3. Knüller:
Beispiel: Wir sind auf der 'HTML-Seite' mit ID-9 also $level_id --> 9
Dort habe ich beide Varianten untereinander in der Vorlage eingebunden:
Code: Select all
[i]MENUE 1 test php[/i]
[PHP]
if(isset($GLOBALS['LEVEL_ID'][1])) {
$level_id = $GLOBALS['LEVEL_ID'][1];
echo '{NAV_LIST_UL:F,'.$level_id.',,subnavmenu,active}';
}
[/PHP]
<hr />
[i]MENUE 2 test RT[/i]
{NAV_LIST_UL:F,9,,subnavmenu,active}
Ergebnis:
--> Menü 1 (PHP) erscheint mit class ="subnavmenue" und ist OK
--> Menü 2 (RT) - eigentlich identisch!!!!????? erscheint OHNE class ="subnavmenue"
Ich komme da nicht mehr mit. Ich raff das nicht.
Hat jemand von Euch dafür eine Erklärung?
Hintergrund ist ein Menü, dass auf jeder Seite sowohl die übergeordneten Seiten/Strukturebenen als auch alle darunterliegenden/current Rubriken zeigt!!!
Wie bekommt man das hin??
Viele Grüße und Dank
Jensensen[/code]