Zum Inhalt springen

Problem beim dynamischen Aufbau eines Menüs

Erstellt am 18. Januar 2013 · 3 Antworten · letzte Antwort am 30. Januar 2013

Tags: Frage

redkadett ·

Hallo,

ich habe mal ein Problem mit einem Menü und hoffe, dass mir jemand helfen kann. In Abhängigkeit von einer Variablen, die über eine selbst geschriebene Extension gesetzt wird (Diese ist auch gefüllt!), möchte ich zur Laufzeit das Menü dynamisch füllen - und zwar aus unterschiedlichen Ordnern.

Der Typoscript - Code ist wie folgt.

lib.mm_sideNavi >
lib.mm_sideNavi = HMENU

[ globalVar = TSFE:fe_user|sesData|loggedin=true ]

	lib.mm_sideNavi{	 
		special = directory
		special.value = 2609
		
		1 = TMENU
		1 {
			noBlur = 1
			NO = 1
			NO.allWrap = <li class="upper">|</li>
			NO.ATagParams = onfocus="this.blur()"
					 
			CUR = 1
			CUR.allWrap = <li class="upper">|</li>
			CUR.ATagParams = class="act" onfocus="this.blur()"
		}
	}	
[else]
	lib.mm_sideNavi{ 
		special = directory
		special.value = 2628
		
		1 = TMENU
		1 {
			noBlur = 1
			NO = 1
			NO.allWrap = <li class="upper">|</li>
			NO.ATagParams = onfocus="this.blur()"
					 
			CUR = 1
			CUR.allWrap = <li class="upper">|</li>
			CUR.ATagParams = class="act" onfocus="this.blur()"
		}
	}		
[global]

Das Ganze funktioniert leider aber nicht richtig. Die Extension auf der entsprechenden Seite wird zwar aktualisiert, aber das Menü bleibt das Alte, obwohl die Variable korrekt gesetzt ist. Wenn ich nun das Browserfenster aktualisiere, bekomme ich das gewünschte Ergebnis.

Hat dazu Jemand eine Idee? Oder gibt es einen Weg, wie ich mit TypoScript versuchen kann, die Seite neu zu laden?

Vielen Dank für Eure Hilfe !!!

Norman2k ·

Ich denke mal, bevor deine Extension den Wert in die Session schreibt, ist das Menü schon längst generiert.
Ich kann mich ganz dunkel dran erinnern, dass ich dieses Problem auch schon mal vor einiger Zeit hatte, weiß aber nicht mehr wann und wo und wie ich es gelöst hatte.

redkadett ·

Hallo Norman2k,

vielen Dank für Deine Antwort. Deine Vermutung klingt plausibel und erklärt auch, warum es nach dem aktualisieren des Browserfensters funktioniert.

Cool wäre es natürlich, wenn Du Dich erinnern könntest, wie Du das gelöst hast.

Ich schlaf da nochmal ne Nacht drüber und schau mir das morgen nochmal an, vielleicht fällt mir ja noch eine halbwegs elegante Lösung ein.

Nochmals Danke für Deine Antwort!

redkadett ·

Hallo,

also für alle, die es interessiert. Ich habe das Problem gelöst-allerdings nicht mit TypoScript.

Ich habe einfach ein weiteres Menü eingefügt und untersuche im Plugin den angeforderten Parameter der mir den Zieldialog nennt.
Dann setze ich die benötigten Parameter in die Session und mache bei bestimmten Dialogen einen Redirect auf die Seite, so daß
das Menü nun entsprechend wechselt und damit korrekt dargestellt wird.

redkadett