Zum Inhalt springen

Probleme bei der Übergabe von TypoScript Variablen an Userfunktion

Erstellt am 1. September 2005 · 2 Antworten · letzte Antwort am 1. September 2005

Tags: PHP, Frage

Juergen22 ·

Hallo,
die Übergabe von Typoscript-Variablen an Userfunktionen klappt bei mir nicht.

Im Folgenden soll beispielhaft die Variable "seitenID" an die Funktion "MeineFunktion" uebergeben werden.

Die mit # auskomentierten Zeilen habe ich jeweils einzeln probiert, es funktioniert lediglich die Übergabe des explixit angegebenen Wertes (20.seitenID = 58-), der Rest nicht ($conf['seitenID'] bleibt dann leer).

temp.topcheck = COA
temp.topcheck {
 20 = USER_INT
 # 20.seitenID = 58
 # 20.seitenID.field =uid
 # seitenID.data = DB:pages:uid
 # 20.seitenID.data =  field:uid
20.userFunc = MeineKlasse->MeineFunktion 
}

page.10.subparts.rp-content-spezial-top < temp.topcheck.

Mir ist klar, das ich aus der PHP-Funktion die Seiten-ID auch direkt aus den globalen Arrays lesen kann (was auch problemlos klappt), darum geht es mir aber nicht.

Falls jemand weiß woran es liegt, bin ich für jeden Tipp dankbar.

Gruß Jürgen

weasel ·

Hallo
Ich denke das problem ist,dass .field und .data eigenschaften des stdWraps sind.
du kannst in deinem php script einen stdwrap so verwenden:

$derwert=$this->cObj->stdWrap($conf["seitenId"],$conf["seitenId."])
Juergen22 ·

Hallo Weasel,
danke für Deine Antwort. Klappt bei mir leider auch nicht, obwohl das Beispiel recht überschaubar ist..

temp.topcheck = COA
temp.topcheck {
 
    20 = USER_INT
    20.seitenID.field =uid
    # 20.seitenID.data = DB:pages:uid
    # 20.seitenID.data =  field:uid
    20.userFunc = user_oc_functions->zeigeWert
}

page.10.subparts.rp-content-spezial-top < temp.topcheck
class user_oc_functions
{
var $cObj;
      
function zeigeWert($content,$conf) 
 {   $pid=this->cObj->stdWrap($conf['seitenID'],$conf['seitenID']);                
 return "<br />Der Wert lautet: ".$pid ;    
 }
}

Ausgegeben wird nur Der Wert lautet:
Hast da noch jemand eine Idee?

Übrigens, habe ich den von Dir propagierten Weg schon anderswo gelesen, so das ich denke im Grunde hast Du recht. Aber weshalb geht es bei mir nicht?

Und wo in der Typo Doku kann man nachlesen, was z.B. die stdWrap Funktion des cObj anstellt, wenn man ihr als zwei gleiche Parameter zweimal den Inhalt des assoziativen Arrays $conf['meinuebergabeparameter'] übergibt? Rätsel über Rätsel.. ;-)

Viele Grüße
Jürgen