Zum Inhalt springen

globale variable == 0/undefined ???

Erstellt am 1. November 2008 · 4 Antworten · letzte Antwort am 2. November 2008

Tags: Frage

tomeccco ·

hi all,

typoscript ist für mich neu und eine gute referenz kenne ich nicht.

habe ich eine möglichkeit eine globale variable auf ihre existenz zu
prüfen und eine anweisung davon abhängig zu machen?
also inetwa so:

[globalVar = GP:L = undefined]
#konfiguriere etwas
[global]

danke für eure anteilname in dieser leichten frage, die ich aber trotz
recherche nicht lösen konnte.

gruss, tomeccco

tomeccco ·

danke für den link zur referenz.
hatte ich bisher nicht gekannt, vielleicht findet sich da in zukunft etwas.

leider bringt Jo's post keine abhilfe.
zwar greift die abfrage wenn am anfang noch keine variable gesetzt wurde, jedoch
scheint sie auch zu greifen wenn die variable gesetzt wurde und bereits den wert
0,1 oder 2 enthält.

es geht um folgendes script:

[globalString = GP:L=*] 
	temp.langsearchid = TEXT
	temp.langsearchid.value = 0
	temp.langmenu.10.value = <img src="bild"/>
	temp.langmenu.10.value.typolink >	
[global]
[globalVar = GP:L=0]
	temp.langsearchid = TEXT
	temp.langsearchid.value = 0
	temp.langmenu.10.value = <img src="bild"/>
	temp.langmenu.10.value.typolink >
[global]
[globalVar = GP:L=1]
	temp.langsearchid = TEXT
	temp.langsearchid.value = 1
	temp.langmenu.20.value = <img src="bild"/>
	temp.langmenu.20.value.typolink >
[global]

der scheiss ist, dass man in typoscript nicht so leicht den wert einer variable zum test ausgeben kann, jedenfalls ergibt:

subparts.TESTAUSGABE = TEXT
subparts.TESTAUSGABE.value = GPvar:L

weiss jemand die lösung :o 😉

greez, tomeccco

tomeccco ·

so.
leider ist die verlinkte referenz auch nicht gerade ausführlich, aber ich habe
in den weiten des internets nun per zufall eine lösung gefunden die zu
funktionieren scheint:

[globalVar = GP:L=]
	temp.langsearchid = TEXT
	temp.langsearchid.value = 0
	temp.langmenu.10.value = <img src="bild.gif">
	temp.langmenu.10.value.typolink >	
[global]

entspricht das leerlassen des vergleichwertes denn einfach einer nicht
gesetzten variable?

greez, tomeccco

Michaelh74 ·

Mach das besser so:

        temp.langsearchid = TEXT
        temp.langsearchid.value = 0
        temp.langmenu.10.value = <img src="bild.gif">
        temp.langmenu.10.value.typolink >

Ohne Global Vars setzt Du die Werte als default

Falls ne andere Sprach verwendet wird, überschreibst Du Deine default Werte mit:

[globalVar = GP:L=1]
        temp.langsearchid = TEXT
        temp.langsearchid.value = 1
        temp.langmenu.20.value = <img src="bild"/>
        temp.langmenu.20.value.typolink >
[global]

Willst Du das Bild überschreiben solltest Du langmenu.10 verwenden.

Gruß
Michael