Body-Tag in Typo3 per Skript beeinflussen

Es ist ja immer so: Du brauchst für ein Computer- oder Programmierproblem eine Lösung. Google ist Dein Freund. Du findest auch jede Menge Äußerungen in der Trefferliste, die Dein Problem haarscharf verfehlen, dafür umso rechthaberischer sind.

Deswegen an dieser Stelle nun die Lösung, die ich fand, um in Typo3-CSS-Templates per PHP-Script auf den Body-Tag Einfluss zu nehmen.

Eigene PHP-Skripte in seine CSS-Templates einzubinden, geht in Typo3 recht leicht mit der Erweiterung Lumo Net PHP Include. Ich nutze diese Möglichkeit in einigen Seiten, die ich mit Typo3 aufgesetzt habe.

Nun wollte ich folgendes tun: Im Body-Tag sollten abhängig von Informationen, die aus einer XML-Datei auszulesen waren, variabel Grafiken vorgeladen werden. In statischem HTML-Code sähe das dann folgendermaßen aus:

<body onload="load('Grafik1.jpg','Grafik2.jpg');"

Vorausgesetzt habe ich natürlich, dass eine entsprechende JavaScript-Funktion vorhanden ist, die die load-Funktion bereitstellt.

Bislang hatte ich Skripte eingebunden, indem ich im TypoScript-Setup per USER_INT eine Funktion angesprochen habe, die per page.includeLibs eingebunden worden ist. Beispielsweise so:

page.headerData.5 = USER_INT
page.headerData.5 {
userFunc = user_templates->cookies
}

Solchermaßen angesprochene Skripte, die ein modifiziertes Body-Tag zurückliefern, funktionieren aber nicht. Sie erweitern den Body-Tag lediglich um das Argument USER_INT.

Die Lösung ist ganz einfach. Nicht USER_INT, sondern PHP_SCRIPT ist das Mittel der Wahl:

temp.bodyadd = PHP_SCRIPT
temp.bodyadd.file = script.php

Und im Page-Bereich wird das Modul dann so eingebunden:

page.bodyTagCObject < temp.bodyadd

Beachtet werden muss: Der auszugebene Tag muss  in die Variable $content gespeichert werden.

Blog-Kategorien: