Hallo,
ich habe ein kleineres Problem, was ich auf meiner privaten Website die ich mit Typo3 erstellt habe nicht gelöst bekomme und zwar möchte ich ein PHP-Skript per userFunc auf einer Seite im Typo3 einbinden. Hier zu habe ich schon realativ viel gegooglet und so manches howto ausprobiert, jedoch ohne Erfolg. Daher wende ich mich an euch.
Ich verwende ein Typo3 der Version 4.4.4.
Im Internet habe ich folgendes Beispiel (z. T. auch mehrfach/abgewandelt) gefunden:
"Folgendes Typoscript in das Setup des Templates"
includeLibs.testMd5 = fileadmin/unterordner/testMd5.inc
temp.info = USER temp.info {
userFunc =user_testMd5->main
value=atest color=#11FAAA
} page.XX<temp.info
Folgendes PHP Script unter fileadmin/unterordner/testMd5.inc abspeichern
<?
class user_testMd5 {
var $cObj;// The backReference to the mother cObj object set at call time
/**
* Call it from a USER cObject with 'userFunc = user_randomImage->main_randomImage'
*/
function main($content,$conf){
$content.='<span style="color:'.$conf["color"].'">'.$conf["value"].' as md5 '.md5($conf["value"]).'</span>';
return $content;
}
}
?>
Das einzige was ich an dem Beispiel geändert habe, ich habe überall die Dateiendung in .inc geändert, was aber prinzipiell keinen Unterschied machen sollte, außer dass man den PHP-Code im Browser öffnen könnte, wenn man den direkten Pfad hat, was in meinem Fall nicht Sicherheitsrelevant ist, da dort keine Zugangsdaten etc. stehen. Desweiteren liegt mein Skript nicht unter /fileadmin/script.inc sondern in einem Unterordner von /fileadmin/, aber das dürfte doch auch nichts ausmachen oder?
Leider passiert wenn ich dieses Beispiel nach bastle nichts. Alle Caches habe ich gelert danach, es kommt zu keiner Fehlermeldung, aber auch zu keiner Ausgabe. Auch weiß ich aus der TsRef https://docs.typo3.org/m/typo3/reference-typoscript/main/en-us/Index.html , dass man hier kein "echo" verwenden kann, sondern die Ausgabe nur über $content machen soll und dass jede Funktion mit user_ beginnen muss. Mache ich etwas falsch? Funktioniert das Beispiel bei euch?
Noch eine andere Frage, beim
page.XX<temp.info
muss ich das "XX" durch die Seiten-ID erstetzen (die im Browser angezeigt wird in der URL wenn ich eine bestimmte Steite aufrufe).
Danke für die Mühe die du dir gemacht hast meinen Text durchzulesen!