eigene PHP-Funktionen in Typoscript einbinden
Es ist durch aus möglich eigene PHP-Funktionen in Typoscript einzubinden, um komplexe Ausgaben zu erzeugen oder komplexe Bedingungen für Conditions zu erstellen.
eigene Funktionen
Um eigene Funktionen überhaupt in Typoscript einbinden zu können, muss zunächst die entsprechende PHP-Datei, in der diese definiert sind, eingebunden werden.
includeLibs.<beliebigername> = directory/user_<yourclassname>.php
Die Benennung der Klasse (und damit des Dateinamens, der der Klasse entsprechen sollte) unterliegt der Einschränkung, dass diese immer mit user_ zu beginnen hat.
Die Klassen und Funktionendefinition sieht im Grundstock so aus:
class user_myclassname {
function myFunction($param, $conf){
...
}
}
Und das folgende Typoscript ruft die oben definierte Funktion nun auf. Dabei darf die Funktion als USER oder USER_INT, je nach Caching-Bedarf eingebunden werden.
page = PAGE
page.10 = USER
page.10.userFunc = user_myclassname->myFunction
Neben dem reinen Aufruf ist es auch möglich Parameter an die Funktion zu übergeben, die in der Funktion über das Array $conf erreichbar sind.
page.10.userFunc.param = value
page.10.userFunc.param2 = value
eigene Conditions
Um eigene Conditions zu generieren können Sie selbst definierte Funktionen für diese nutzen. Dabei ist darauf zu achten, dass die Funktion in der localconf.php definiert wird und der Name immer mit user_ beginnt. Ein guter Ansatz ist die Definition von einer Funktion für Conditions und dort per Parameter die jeweilige Abfrage bestimmen. Wichtig ist auch, dass die Funktion nur true oder false als Ergebnis zurückliefert.
Condition
[userFunc = user_condition(checkLocalIP)]
...
[global]
Funktion
function user_condition($cmd) {
switch($cmd) {
case "checkThis":
if(..) {
return true;
} else {
return false;
}
break;
case "checkThat":
...
break;
}
}
Danke für die Erklärung! Das Einbinden klappt bei mir. Wie kann ich nun das Script einem MARKER aus meinem HTML-Template aufrufen und darstellen lassen?