TYPO3-Testaccount
Testen Sie die aktuellste TYPO3-Version kostenlos und unverbindlich für einen Monat!

Jetzt testen!

Schulungen

[userfunc = user_functions-> greift nicht


Autor Nachricht
Verfasst am: 05. 03. 2010 [13:34]
charly21
Themenersteller
Dabei seit: 18.06.2007
Beiträge: 14
Hi,

ich werd noch bekloppt.

ich habe eine Funktion geschrieben, die mir beim aufruf im TS true oder false zurückgeben soll.

Aber selbst wenn ich im Backend die condition auf true setzte, wird nicht das ausgegeben was es soll.

ich habe folgendes konfiguriert
TYPOSCRIPT
page.includeLibs.some_function = fileadmin/scripts/user_functions.php
 
temp.mainTemplate.marks.PREFLANGCOOKIE = TEXT
temp.mainTemplate.marks.PREFLANGCOOKIE.value = NICHTS
 
[userFunc = user_functions->GetValueBySystem(0)]
temp.mainTemplate.marks.PREFLANGCOOKIE.value = DOCH WAS
[end]



ich hab mal gelesen, das es bei der Typo3 Version 4.1.3 Probleme mit der verwendung von userfunc und eigenen klassen geben soll.
Aber es muss doch gehen. banghead.gif


Was ich eigentlich erreichen möchte:

TYPOSCRIPT
# includen der globalen class user_functions
page.includeLibs.some_function = fileadmin/scripts/user_functions.php
 
#Marker vordefinieren
temp.mainTemplate.marks.PREFLANGCOOKIE = TEXT
temp.mainTemplate.marks.PREFLANGCOOKIE.value = NICHTS


#Abfragen ob etwas bestimmte werte enthält und dann je nachdem welcher inhalt zutrifft, den Marker anpassen
#GetValueBySystem soll testweise auf die gesetzte Systemsprache abfragen, auch wenn ich das mit GP:L machen könnte. ich wills testweise aber so damit ich sehen kann, ob die funktion geht

Ich möchte eine if, elseif haben

also:

if (userFunc = user_functions->GetValueBySystem(0))
{
temp.mainTemplate.marks.PREFLANGCOOKIE.value = DOCH WAS 0
}
elseif (userFunc = user_functions->GetValueBySystem(1))
{
temp.mainTemplate.marks.PREFLANGCOOKIE.value = DOCH WAS 1
}
else
{
temp.mainTemplate.marks.PREFLANGCOOKIE.value = DOCH NICHTS
}

Wie genau muss ich das jetzt im TS schreiben?

So?
TYPOSCRIPT
[userFunc  = user_functions->GetValueBySystem(0)]
#wenn sprache = 0 dann
temp.mainTemplate.marks.PREFLANGCOOKIE.value  = DOCH WAS 0
[userFunc  = user_functions->GetValueBySystem(1)]
#wenn sprache = 1 dann
temp.mainTemplate.marks.PREFLANGCOOKIE.value  = DOCH WAS 1
[userFunc  = user_functions->GetValueBySystem(2)]
#wenn sprache = 2 dann
temp.mainTemplate.marks.PREFLANGCOOKIE.value  = DOCH WAS 2
[userFunc  = user_functions->GetValueBySystem(3)]
#wenn sprache = 3 dann
temp.mainTemplate.marks.PREFLANGCOOKIE.value  = DOCH WAS 3
[else]
# wenn keine der conditions zutrifft.
temp.mainTemplate.marks.PREFLANGCOOKIE.value  = DOCH NICHTS
[end]

LG und Vielen Dank im Voraus
Charly

[Dieser Beitrag wurde 1mal bearbeitet, zuletzt am 05.03.2010 um 13:34.]
ProfilWWW
Verfasst am: 05. 03. 2010 [19:18]
karlchen
Dabei seit: 19.10.2006
Beiträge: 868
du ruft hier eine userFunc als Condition auf, hier geht nur der aufruf einer Funktion, nicht einer Class

also höchstens so
TYPOSCRIPT
[userFunc = user_getValueBySystem(0)]


in deinem Fall könntest du Case nutzen:


TYPOSCRIPT
temp.text = COA
temp.text{
	20 = CASE
	20.key.data = GPvar:deineÜbergebeneVariable
	20.key.intval  = 1
	20 {
		1 = TEXT
		1.value = DOCH WAS 0
		2 = TEXT
		2.value = DOCH WAS 1
		3 = TEXT
		3.value = DOCH WAS 2
		4 = TEXT
		4.value = DOCH WAS 3
	}
	if.isTrue.data = GPvar:deineÜbergebeneVariable
}
 
temp.mainTemplate.marks.PREFLANGCOOKIE < temp.text
Profil