Zum Inhalt springen

GP:L immer mit gleichem Wert?

Erstellt am 31. August 2013 · 2 Antworten · letzte Antwort am 2. September 2013

Tags: Templates & Layouts, TYPO3 4.x, Frage

Gopher75 ·

Hallo zusammen!
Ich habe eine Datei "_menu_footer.ts" vorliegen.
In dieser Sind insgesamt 5 Blöcke mit Untermenüpunkten definiert, die im Footer angezeigt werden sollen.

Der erste Block ist ein Standardtext, der IMMER angezeigt werden soll. Ist ja auch kein Problem.
Nun möchte ich die restlichen vier Blöcke aber nur genau dann anzeigen lassen, wenn die aktuelle Sprache Deutsch ist. In allen anderen möglichen Fällen (EN, FR, ES) sollen diese nicht angezeigt werden.
Hier ein Ausschnitt:

	    20 = COA
	    20 {
		[globalVar = GP:L = 4]
			stdWrap.wrap = <div class="three columns">|</div>
	        10 = HMENU
	        10 {
	            special = list
	            special.value = {$plugin.tx_t3local.footers.A.col1Pid}
	            1 = TMENU
	            1.noBlur = 1
	            1.NO.wrapItemAndSub = <h3 class="margined_left">|</h3>
	            1.NO.doNotLinkIt = 1
	        }
	        20 = HMENU
	        20 {
	            special = directory
	            special.value = {$plugin.tx_t3local.footers.A.col1Pid}
	            1 = TMENU
	            1.noBlur = 1
	            1 {
	               wrap = <ul class="margined_left">|</ul> 
	               NO.wrapItemAndSub = <li>|</li>
	            }
	        }
		[global]
	    }

Den Wert "GP:L = 4" habe ich nur testweise eingefügt.
Deutsch hat L = 0, Englisch L = 1, Französisch L = 4 und Spanisch L = 5.

Testweise hab ich jedem Block in der passenden Bedingung nun eine andere Sprache zugeordet.
ABER: es wird stets der erste der vier Blöcke angezeigt und kein anderer.
Eigentlich sollte es aber von der Logik her doch so sein, dass je nach Sprache ein anderer Block angezeigt wird.

Ich habe nun schon sämtliche Schreibweisen und Positionen für die IF-Bedingung durchprobiert, aber komme immer zum selben Ergebnis, nämlich dass die Bedingung genau das bewirkt, was sie NICHT tun soll.

Könnte es eventuell sein, dass "intern" die Sprache gar nicht umgeschaltet wird? Dann aber müsste doch zumindest derjenige Block angezeigt werden, dem den Default-Sprache zugeordnet ist.

Ich komm nicht dahinter. Vielleicht kennt von euch jemand das Problem.

LG, Klaus

einpraegsam.​net ·

Grundregel bei den Conditions

Nie in Klammern verwenden - hier ein Beispiel

#falsch

lib.10 = TEXT
lib.10 {
  value = lala
  [globalVar = GP:L = 4]
    value = lulu
  [end]
}
#richtig


lib.10 = TEXT
lib.10 {
  value = lala
}
[globalVar = GP:L = 4]
lib.10.value = lulu
[end]
Gopher75 · · Beste Antwort

Hallo und Vielen Dank!
Deine Antwort hat mich auf den richtigen Weg gebracht.
Da fand sich doch tatsächlich noch eine äußere Klammer um das ganze Geraffel herum ... wer richtig hinguckt, ist klar im Vorteil 😉