TYPO3: PHP-Skript einbinden
TYPO3-Logo (Quelle: typo3.org)

TYPO3: PHP-Skript einbinden

Mit TypoScript lässt sich ein PHP-Skript in eine TYPO3-Webseite einbinden. Dieser Artikel beschreibt die beiden Varianten vor und ab TYPO3 Version 6.0.

Vor TYPO3 Version 6.0

Um externe PHP-Skripte in TYPO3 ausführen zu können, steht bis Version 4.7 der Objekttyp PHP_SCRIPT zur Verfügung. In folgendem Beispiel wird der Variablen marker der Dateipfad zur der PHP-Datei zugewiesen. Die Variable marker kann dann wiederum in das Template eingebunden werden (z.B. via TemplaVoila).

TypoScript-Code

1
2
lib.marker=PHP_SCRIPT
lib.marker.file=fileadmin/php/skript.php
Mit einem Doppelklick kann der gesamte Code markiert werden.

Im PHP-Skript muss die Ausgabe in einer Variable namens $content gespeichert werden. In nachfolgenden Beispiel-Code wird das durch Output-Buffering erledigt.

PHP-Code der skript.php

1
2
3
4
5
6
ob_start();

echo 'Das PHP-Skript wurde erfolgreich in TYPO3 eingebunden.';
   
$content=ob_get_contents();
ob_end_clean();
Mit einem Doppelklick kann der gesamte Code markiert werden.

Ab TYPO3 Version 6.0

Der Objekttyp PHP_SCRIPT wurde in der Version 4.7 als deprecated erklärt und in Version 6.0 entfernt. Ab TYPO3 Version 6.0 wird stattdessen der Objekttyp USER angeboten. Die Funktionsweise ist sehr ähnlich. Statt ein einfaches PHP-Skript zu verwenden, wird nun objektorientiert gearbeitet.

TypoScript-Code

1
2
3
includeLibs.user_klasse = fileadmin/templates/php/user_klasse.php
lib.phpskript = USER
lib.phpskript.userFunc = user_klasse->ausgabe
Mit einem Doppelklick kann der gesamte Code markiert werden.

Mit includeLibs wird der Pfad zur Klasse user_klasse definiert. Diese befindet sich in diesem Beispiel im Ordner /fileadmin/templates/php/. Die Klasse user_klasse stellt Methoden bereit, die den auszuführenden PHP-Code enthalten. Der Klassenname muss immer in der Form user_[klassenname] vorliegen.

PHP-Code der user_klasse.php

1
2
3
4
5
6
7
8
9
<?php
   class user_klasse
   {
      function ausgabe()
      {
         return 'Dieser Text wurde durch PHP erzeugt.';
      }
   }
?>
Mit einem Doppelklick kann der gesamte Code markiert werden.

PHP-Skripte werden oft für dynamsische Ausgaben verwendet. Deswegen sollten der Cache auf Seiten mit PHP-Inhalten deaktiviert werden.

Geschrieben von: Jens Richter