Zum Inhalt springen

2 direkt voneinander abhängige Menüs

Erstellt am 16. März 2009 · 1 Antwort · letzte Antwort am 16. März 2009

Tags: Frage

koko11 ·

Grüße,

erstmal: Ich bin Typo3 Anfänger und bastel ein wenig an einer Testseite herum. Mein Problem ist eigentlich recht simpel, leider hat mich google aber noch nicht schlauer gemacht. 2 voneinander unabhängige Menüs funktionieren tadellos, allderdings benötige ich 2 voneinander abhängige Menüs.

- Hauptnavigation (bis zu 6 Menüpunkte)
- Subnavigation (beliebig viele Menüpunkte, in Abhängigkeit der Hauptnav)

Lief alles soweit wunderbar, nun habe ich mich ein wenig festgefahren und weiß nicht so recht weiter. Hier erstmal was ich bisher habe:

Meine Seitenstruktur (weitere Erläuterungen dazu unten):

Bild: img9.imageshack.us/…/bildschirmfotoj.png
Bild: img9.imageshack.us/…/w254.png

hier mein TypoScript:

page = PAGE
page { 

        # CSS einbinden usw.
	[...]

	10.marks {
		# submenüs erstellen // vorerst kein special.value 
                # -> dyn. durch conditions unten
		SUBMENU = HMENU
		SUBMENU {
			wrap = <div class="BM">|</div>
			# special.value in condition
			1 = TMENU
			1.expAll = 1
			1.alternativeSortingField = title asc
			wrap = <ul>|</ul>
			NO = 1
			1.NO.wrapItemAndSub = <li>|</li>
		}
		
		
		# Hauptnavigation erstellen
		MENU = HMENU
		MENU {
			special = directory
			special.value = 23
			1 = GMENU
			1.alternativeSortingField = pid asc
			1.NO = 1
			1.NO {
			     XY = 120, 30
			     backColor = #808080
			     
			     # Hauptnavigation Text auf Bild
			     10 = TEXT
			     10.text.field = nav_title // title	
			     10.text.listNum = 0
			     10.fontColor = #ffffff
			     10.fontSize = 11
			     10.offset = 0, 20
			     10.align = center		     
			     }
		}


         [...]

}


############### conditions ################

##### subnav #####
[PIDinRootline = 70] OR [treeLevel = 3]
page.10.marks.SUBMENU = HMENU
		page.10.marks.SUBMENU {
			special = directory
			special.value = 64
		}
[global]
[PIDinRootline = 69] OR [treeLevel = 3]
page.10.marks.SUBMENU = HMENU
		page.10.marks.SUBMENU {
			special = directory
			special.value = 63
		}
[global]
[PIDinRootline = 68] OR [treeLevel = 3]
page.10.marks.SUBMENU = HMENU
		page.10.marks.SUBMENU {
			special = directory
			special.value = 62
		}
[global]
[PIDinRootline = 67] OR [treeLevel = 3]
page.10.marks.SUBMENU = HMENU
		page.10.marks.SUBMENU {
			special = directory
			special.value = 61
		}
[global]
[PIDinRootline = 66] OR [treeLevel = 3]
page.10.marks.SUBMENU = HMENU
		page.10.marks.SUBMENU {
			special = directory
			special.value = 60
		}
[global]
[PIDinRootline = 65] OR [treeLevel = 3]
page.10.marks.SUBMENU = HMENU
		page.10.marks.SUBMENU {
			special = directory
			special.value = 59
		}
[global]

Die Anzeige klappt wunderbar. Sobald ich in der Hauptnavigation z.b. auf "Training" (PID = 69) klicke, zeigt die Subnav die gewünschte Subnav an (training subnav, PID = 63).
Wenn ich nun auf einen Link unter "subnav training" klicke, z.b. "training subnav 1", wird der Inhalt wieder korrekt angezeigt, allerdings ändert sich die Subnav zur "subnav news". Die letzte Condition setzt den special.value der subnav auf 59, also der "news subnav".

Sobald ich nun auf irgendeinen Link der Subnav klicke, ändert sich die Subnav immer zur "news subnav", was so in der letzten Condition vermerkt ist. Ich nehme an, dass die Fallunterscheidung klappt, allerdings trifft die Bedingung "[treeLevel = 3]" (das Level, indem sich die subnav-Seiten befinden) immer zu.

Ich hab so ein doofes Gefühl, dass dieser Ansatz totaler Müll ist 🙂
Das treeLevel 3 ist nur für die Subnav reserviert und darf nicht woanders vorkommen. Außerdem hab ich so meine Bedenken ob das alles nachher wirklich Wasserfest funktionieren würde.

Vielleicht könnte man das so hinbiegen, es gibt jedoch bestimmt einen schlaueren Ansatz dafür.

Ich würde mich sehr über jegliche Tipps oder Links freuen.

Nachtrag:
Um es in einen Satz zu fassen: gibt es eine Möglichkeit, per Conditions ausgehend von einer PID alle Unterseiten anzusprechen?

Nachtrag 2:
Wenn ich die Concitions in [PIDinRootline = 70] OR [PIDupinRootline = 70] usw. ändere und auf einen Link in der Subnav klicke, zeigt mir die Subnav die Links:
* Hauptnavigation
* Navigation links
* Navigation oben

Ich bin grad etwas verwirrt :o

koko11 ·

ICH ESEL!

[PIDinRootline = 70] || [PIDupinRootline = 64]

#angry#

Setzt man 2 abhängige Menüs so i.A. tatsächlich um? Ich finde das alles irgendwie recht umständlich...