Wie jetzt? Nö, Du mußt nicht für jedes Menü ein eigenes Layout anlegen. Erst einmal zur Begriffserklärung folgendes:
Menü = Sammlung von Links in einem in sich abgeschlossenen Bereich
Layout = Vorlage in z.B. HTML mit Containern als Platzhalter für die Module
Als Navigation wollen wir hier mal die Begriffe Menü und Modul ins Rennen bringen. Du musst ein Modul haben, dass Dein Layout an den gewünschten Stellen mit dem Menü füttert.
In diesem Modul musst Du eben unterscheiden, ob der jeweilige Menü-Link aktiv ist oder eben nicht. Das musst Du auch machen, wenn Du CSS anstelle von Javascript einsetzt. Spielt gar keine Rolle!
Das beste Beispiel ist die Navigation aus dem Beispiel-Mandanten. Da gibt es aber noch einen klitzekleinen Punkt, den ich loswerden möchte.
Du kannst im Modul HTML-Code direkt ausgeben.
echo '<a href=".....';
Oder aber noch einen Zwischenschritt einbauen. Das sind dann die Modul-Templates:
$tpl->reset();
$tpl->set('d', 'NAME', $data['name']);
$tpl->set('d', 'TARGET', $data['target']);
$tpl->set('d', 'HREF', $sess->url('front_content.php?idcat='.$data['idcat'].'&idart='.$data['idart']));
$tpl->next();
$tpl->generate('templates/navigationslink.html');
Diese Modul-Templates kannst Du unter Style->HTML-Editor bearbeiten. Oben im Code definierst Du z.B. NAME, TARGET, und HREF und im Modul-Template Navigation baust Du dann {NAME}, {TARGET}, usw. wieder ein. Das ist ein wenig eleganter, da Du dann auch auf Modul-Ebene Logik von Darstellung trennst. Schau's Dir mal an. Du würdest hierbei dann einfach navigationslink_active.html nehmen. Ist eigentlich ganz einfach.