Zum Inhalt springen

Kopieren/Zuweisen von Variablen von/an USER-Functions

Erstellt am 2. Oktober 2014 · 3 Antworten · letzte Antwort am 3. Oktober 2014

Tags: PHP, TYPO3 6, Frage

mmmedia ·

Hallo,

ich hab ein Problem mit Typoscript und dem "<" Operator...

Typoscript...

page.includeLibs.userFuncs1 = fileadmin/templates/meine_php_klassen.inc

temp.headi = USER
temp.headi.userFunc = user_hauptklasse->pphead

temp.maini = USER
temp.maini.userFunc = user_hauptklasse->pp
temp.maini.testvariable < temp.headi

page.10.subparts.MAINCONTENT.10 < temp.maini
class user_hauptklasse  {     

function pphead($content, $conf) { 
return ("Ich will in den Maincontent übergeben werden!"); 
} 

function pp($content, $conf) { 
return ($conf['testvariable']); 
} 

}

Statt "Ich will in den Maincontent übergeben werden!" spuckt die Funktion den Typ aus, also "USER"!

Ist das ein Bug oder mache ich einen Fehler? Danke!

Chrissli · · Beste Antwort

Du machst einen Fehler 😉
Gibt doch mal $conf per ver_dump aus, dann siehst du, dass du ein ungerendertes Typo3 Oject, sprich ein Konfigurationsarray übergeben bekommst. Entsprechend steht in $conf['testvariable'] der Objekttyp und in $conf['testvariable.'] dessen weitere Konfiguration. Was du zurückgeben möchteste ist das:

return $this->cObj->cObjGetSingle($conf['testvariale'],$conf['testvariable.']);

Siehe auch: http://typo3.org/documentation/api/

jenses ·

Sind noch ein paar mehr Fehler,
Rückgabe soll z.B. immer über $content erfolgen, usw.
Steht aber auch alles in der TSRef drin, nur liest die ja keiner #angry#

Typoscript:

page.includeLibs.userFuncs1 = fileadmin/templates/meine_php_klassen.inc

lib.headi = USER
lib.headi.userFunc = user_hauptklasse->pphead

lib.maini = USER
lib.maini.userFunc = user_hauptklasse->pp
lib.maini.testvariable < lib.headi

meine_php_klassen.inc :

<?php

class user_hauptklasse {
	var $cObj;

	function pphead( $content, $conf ) {
		$content = "Ich will in den Maincontent übergeben werden!";
		return $content;
	}

	function pp( $content, $conf ) {
		# debug($conf,'$conf');
		$content = $this->cObj->cObjGetSingle( $conf['testvariable'], $conf['testvariable.'] );
;		return $content;
	}

}