Zum Inhalt springen

PHP Code mit Werten aus TV Eingabefeldern?

Erstellt am 17. April 2007 · 5 Antworten · letzte Antwort am 20. April 2007

Tags: Frage

lorrey ·

Hallo!

Ich versuche gerade ein FCE zu machen, welches mir PHP mit meinen Werten ausgibt...

<?php 

echo '###EINGABE###'

?>

Also ich möchte dem Redaktuer zb ein Eingabefeld anbieten, wessen Ihnhalt dann per PHP weiterverarbeitet wird.
Z.B. so wie oben mit echo ausgegeben - das eigentliche PHP Script ist natürlich komplexer - aber ich würde gerne einfach das Prinzip verstehen.

Quasi ein ganz "normales" FCE nur nicht mit HTML Code, sondern PHP Code den ich mit TV mappen möchte.

Geht sowas überhaupt ohne die lumophpinclude Ext?

Besten dank schon mal!!!

jenses ·

So wie du dir das denkst funktioniert es nicht.
Und du darfs innerhalb von TYPO3 niemals irgendeinen Inhalt per echo zurückgeben!

Werte eines FCEs kanns du bequem per userFunc bearbeiten.

Im TS Config mußt du dazu erst die Funktion inkluden:

includeLibs.meineFCEverwurschtelFunktion = pfad/zur/user_functions.php

Im DS-XML des FCEs mußt du dann nur noch den Inhalt deines Feldes verarbeiten,
zum Beispiel so:

<TypoScript>
 <![CDATA[
 10 = TEXT
 10.current = 1
 10.postUserFunc = user_functions->machDiesUndDas
 10.postUserFunc.irgendeinParameter = TRUE
 10.postUserFunc.SinnDesLebens = 42
 ]]>
</TypoScript>

Du sagst Templavoila also, das der Inhalt des Feldes durch die Funktion "machDiesUndDas"
deiner Klasse "user_functions" gejagt werden soll.

lorrey ·

hallo jenes,

vielen dank für deine antwort!
das ist doch schon mal ein ansatz der mir bestimmt weiterhilft.

ich hatte auch schon überlegt ein "fe plugin" zu erstellen - die frage ist nur, was ist mehr aufwand?
werde deine variante heute gleich mal ausprobieren...

lorrey ·

... bin nun schon ein stück weiter:

10.postUserFunc.url = feldname

wie bekomme ich nun den wert aus meinem aktuellen feld in die userfunc übergeben?
mit der variante oben klappt es leider nicht :-(

und noch ne kleine frage wie kann ich die post variablen in der userfunc abfragen?

vielen dank!

jenses ·

So funktioniert das nicht.
Deiner Userfunction werden genau zwei Werte übergeben:
$content (enthält in deinem Fall den Inhalt des aktuellen Feldes,
den brauchst du also nicht extra zu übergeben)
und
$conf (Array bestehend aus deinen übrigen Parametern).
Und die userfunction muß per

return $content;

den manipulierten Inhalt natürlich auch wieder zurückgeben.

Schau dir mal die TSRef (und die Typo Core API) an,
da wird alles haargenau erklärt.

Per

debug($variable,'erklärendes Label');

kannst du dir sämtliche Werte anzeigen lassen.