Hier ein paar Beispiele, wie man externe Dateien via TypoScript ins Typo3 - CMS
einbinden kann, zum Beispiel CSS - Dateien oder PHP - Script - Dateien und vieles mehr:
Manchmal ist es notwendig, ein separates Script (in unserem Beispiel ein PHP - Script)
direkt in die Webseite einzubinden. Da Dateien mit der Endung .PHP nicht ohne Anderung in der
Configuration in den Fileadmin hochgeladen werden, haben wir unser PHP - Script eben einfach
mit .inc beendet, was denselben Effekt wie .PHP hat, aber nicht gleich ausgeführt wird,
sondern zum Abrufen bereitsteht.
Beim Einbinden von PHP - Scripts gibt es 3 verschiedene Methoden:
PHP_SCRIPT
Benutzt man diese Methode, so darf man im PHP-Script kein "echo" Befehl benutzen, sondern
muss die Ausgabe in die Variable $content schreiben, beziehungsweise hinzuanfügen, also $content.= $AusgabeDesScriptes
PHP_SCRIPT_INT
Hier gilt dasselbe wie für PHP_Script, nur dass der Inhalt gecached wird und mit dem Seiteninhalt ausgegeben wird.
PHP_SCRIPT_EXT
Hier darf man den "echo" - Befehl nutzen, kann aber den Inhalt auch an die Variabel $content hängen, je nach Belieben.
Eine genauere Beschreibung der einzelnen Funktionen und Unterschiede bekommt man in der Typo3 - Referenz,
wenn man im oberen Bereich der Seite auf die Bezeichnung klickt, man word direkt dorthin verlinkt.
Der TypoScript - Code dafür sieht beispielsweise mit der Methode PHP_SCRIPT_EXT folgendermaßen aus:
page.headerData.20 = PHP_SCRIPT_EXT page.headerData.20.file = fileadmin/phpScript.inc
Üblich ist es, eine separate CSS - Datei einzubinden. Nun macht es aber sogar manchmal Sinn, verschiedene CSS-Dateien einzubinden, da man die Formatierungen aufteilen möchte, zum Beispiel eine Datei für die allgemeine Formatierung und zum anderen eine CSS - Datei für den User, die dann auch vom RichTextEditor angesprochen werden kann.
Der TypoScript-Code dafür sieht folgendermaßen aus:
page = PAGE page{ includeCSS{ file1=fileadmin/css_lokal.css file2=fileadmin/css_user.css file3=typo3/sysext/rtehtmlarea/htmlarea/plugins/DynamicCSS/dynamic.css } }
