[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. 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.] |
|
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 |



