Zum Inhalt springen

2. Menü-Ebene anderst positionieren

Erstellt am 2. März 2006 · 7 Antworten · letzte Antwort am 3. März 2006

Tags: Frage

tr03lf ·

Hallo!

Ich habe mein Menü standardmäßig links und möchte jetzt die 2. Menü-Ebene nicht wie üblich aufgeklappt unter den Menüpunkten der 1. Menü-Ebene, sondern am rechten Rand darstellen.

Kann mir jemand erklären wie das geht?

MfG,
Micha

Unbekannter Benutzer ·

wenn du die 2te Ebene vollständig von der ersten entfernen möchtest weist du einem Marker in der rechten Spalte ein neues Menu zu.
möchtest du aber einfach den Text rechtsbündig versuch dich mal mit align

tr03lf ·

okay, das mit dem marker rechts hab ich mir auch schon überlegt. aber erstens kann ich dann wohl keinen zusammenhang mehr zwischen meinem menü links und meinem menü rechts herstellen (das menü rechts soll ja eine unter-ebene vom menü links sein).zweitens müsste ich irgendwie die special.value eigenschaft dynamisch erstellen können (geht das?).

MfG,
Micha

PS: Mein Problem nochmal explizit an einem beispiel verdeutlicht:

Ich habe die 3 Menüpunkte Projekte, Publikationen und Lehre in einem Menü auf der linken Seite. Diese 3 Seiten haben jeweils weitere Unterpunkte:Bei Projekte wären das die Seiten 2006,2005 und 2004;bei Publikationen Amsterdam2001 und Friedberg2002;bei Lehre Elektronik 3 und Physik 1.Wenn ich jetzt beispielsweise auf meinen Menüpunkt Projekte klicke soll in der Mitte der Inhalt angezeigt werden und rechts daneben ein Menü mit den Unterpunkten 2006,2005 und 2004.

FalkWalter ·

Hallo, Micha,

der folgende Scriptschnipsel sollte Dir weiterhelfen. Dieses Menü zeigt bei mir immer die zweite Ebene an.

# Builds secondary navigation
# Needed Constants:
# - secondaryNavigation.header_lang = string (Header for secondary Navigation Box)

lib.secondaryNavigation = HMENU
lib.secondaryNavigation.entryLevel = 1
lib.secondaryNavigation.1 = TMENU
lib.secondaryNavigation.1 {
  wrap = <div id="secondaryNavigation"><h3 class="secondaryNavigation">{$secondaryNavigation.header_lang}</h3><ul>|</ul></div>
  ACT = 1
  NO.allWrap = <li class="secondaryNavigationNotActive">|</li>
  NO.ATagTitle.field = abstract // description // title
  ACT.allWrap = <li class="secondaryNavigationActive">|</li>
  ACT.ATagTitle.field = abstract // description // title
  ACT.stdWrap.wrap = <span class="secondaryNavigationActive">|</span>
}

Grüßle
Falk

tr03lf ·

Danke für die Antwort!

Leider hat sie mir nicht viel weiter geholfen, aber ich habe jetzt eine doch recht simple Lösung gefunden. Und zwar habe ich einfach mein Menü auf der linken Seite in den Platzhalter RECHTS kopiert und da die erste Ebene mit einem wrap = <!--|--> umschlossen 😉

Micha

FalkWalter ·

Hallo, Micha,

das mag zwar optisch ok gehen, aber so richtig sauber ist das nicht. Das wesentliche an meinem Codeschnipsel ist der entryLevel. Mit diesem bestimmst Du, ab welchem Level das Menu anfängt. Dann brauchst Du auch nichts auskommentieren.

Grüßle
Falk

(sorry, war zu faul, meinen Code allgemeintauglich zu machen)

tr03lf ·

Okay wenn du irgendwann mal die zeit un lust haben solltest denn code zu verallgemeinern wärs cool wenn du ihn hier postest.wenn nicht is auch net schlimm ich hab ja jez ne version die geht.
in typo bin ich leider noch net so de held un kann echt wenig mit dem lib.secondaryNavigation anfangen. das mit dem entryLevel war mir schon klar - denk ich... 😉

Danke nochma,
Micha

FalkWalter ·

Hallo, Micha,

lib (library) ist nur eine Art Container, in welchem Du Typoscript zwischenlagern und (mehrfach) wiederverwenden kannst. Wichtig vor allem beim Einsatz von TemplaVoila.
Du kannst dein lib z. B. so einbinden:

lib.secondaryNavigation = HMENU
...

page = PAGE
page.10 = COA
page.10 < lib.secondaryNavigation

Grüßle
Falk