Zum Inhalt springen

Templates für Submenü-Punkte?

Erstellt am 1. Oktober 2006 · 7 Antworten · letzte Antwort am 1. Oktober 2006

Tags: Frage

OnTheRun ·

Hallo allerseits,
ich habe folgendes Problem:

Gegeben sei folgendes Menü bzw. folgende Seitenstruktur:

+root
| + Content 1
| | +-Content 1.1
| + Content 2
| | +-Content 2.1
| | +-Content 2.2
| + Content 3

root hat ein Template, welches für die Unterseiten übernommen wird.
Content 1 hat ein eigenes Template, Content 1.1 aber nicht. Sobald der Benutzer auf
Content 1.1 klickt, ist im Menü Content 1 als aktiv (ACT) markiert, was völlig korrekt ist.
Content 2 hat kein Template, dafür haben Content 2.1, so wie Content 2.2 ein eigenes Template. Sobald der Benutzer auf Content 2.1 oder Content 2.2 klickt, ist beim Menü kein Punkt mehr als aktiv (ACT) markiert, sondern es sind alle als normal markiert (NO). Eigentlich sollte aber Content 2 als aktiv markiert sein, da der Benutzer sich ja in einem untergeordneten Punkt davon befindet.
Mein Menücode ist in allen Templates der Selbe und sieht so aus:

MENU = HMENU
MENU {
    special = directory
    special.value = 1

    1 = TMENU
    1.wrap = <div class="main_menu">|</div>
    1.NO.allWrap = <div class="main_menu-level1-no">|</div>
    1.ACT.allWrap = <div class="main_menu-level1-act">|</div>
    1.ACT = 1
}

Wo liegt mein Fehler?

Vielen Dank und Gruss

just2b ·

Hallo,

NO = Standard
ACT = Aktuelle Seite
ACTIFSUB = Subseite ist Aktiv <= den Zustand definieren

lg georg

OnTheRun ·

Hallo,
vielen Dank für Deine Antwort.
Ich habe es nun so probiert:

MENU = HMENU
MENU {
	special = directory
	special.value = 1

	1 = TMENU
	1.wrap = <div class="main_menu">|</div>
	1.NO.allWrap = <div class="main_menu-level1-no">|</div>
	1.ACT.allWrap = <div class="main_menu-level1-act">|</div>
	1.ACT = 1
	1.ACTIFSUB.allWrap = <div class="main_menu-level1-act">|</div>
	1.ACTIFSUB = 1
}

Dies habe ich im Template von Content 2.1 abgeändert und somit sollte ja Content 2 als ACT bzw. eben ACTIFSUB markiert werden oder?
Ist dies richtig so?
Passiert leider nichts.

Gruss

just2b ·

das gehört zu Content 2, aber ich frag mich warum du für jeden Punkt ein eignees Template anlegst, ist ja nicht notwendig

lg georg

OnTheRun ·

Wenn ich den oben geschriebenen Code in den Code von Content 2 einfüge, ist dieser ja nur aktiv, sobald der Benutzer sich auf der Seite Content 2 befindet und nicht, sobald er auf Content 2.1 ist. Oder liege ich da falsch?
Ich nutze für die diversen Unterseiten jeweils ein eigenes Template, weil jede Unterseite ein anderes Hintergrundbild haben soll. Menü, Content etc. sollen aber genau gleich sein. Im Prinzip wird nur eine Variable abgeändert 🙂

just2b ·

wenn du ACTIFSUB auf Seite 2 definierst, dann tritt dieser Zustand ein wenn eine SUBSEITE von Seite 2 aktiv ist.

wegn den Templates: ich weiß nicht wie dein TS ausschaut, aber du musst in den subseiten nur die 1 zeile überschreiben und nicht alles neu kopieren

lg georg

OnTheRun ·

Also auf Seite 2 bzw. Content 2 befindet sich ja eben kein Template, sondern auf root. Dort habe ich folgenden Code eingefügt:

1.ACTIFSUB.allWrap = <div class="main_menu-level1-act">|</div>
1.ACTIFSUB = 1

Allerdings ist, sobald ich auf Content 2.1 bin, Content 2 nach wie vor nicht aktiv.
Wie gehe ich denn vor, wenn ich nur diese Zeile überschreiben möchte?

OnTheRun ·

Ich habe nun die Lösung herausgefunden. Bei den Subseiten muss einfach im Template, unter "Rootlevel" (findet man, sobald man "
Click here to edit whole template record" anwählt) den Haken rausnimmt.

Gruss