Wissenswertes über Typo3

Man kennt das ja ... man sucht und sucht und sucht - fragt in Foren - bekommt die blöde Antwort doch mal zu googlen - dann gibt man erst mal auf ... und zack - einen Tag später mit etwas mehr Abstand findet man dann doch die Lösung irgendwo geschrieben oder selber.

Da freut man sich dann. Und genau so ergeht es auch mir hin und wieder. Da dachte ich mir, bevor jetzt andere genauso genervt rumsuchen, stell ich meine Lösungen zu meinen Problemem doch mal online. Vielleicht hilfts ja jemandem?!

So soll also an dieser Stelle ein kleines Sammelsurium von Typo3 Lösungen entstehen.

Und los gehts...

SeitenTS Variablen im PHP benutzen

Mal ganz davon abgesehen, dass der Kickstarter einem die Grundstruktur inklusive Zugriff auf die Typoscript Parameter vorbereitet gibt es immer wieder mal die Notwendigkeit, auf eine SeitenTS Variable im PHP zuzugreifen, ohne gleich ein Template Extension für die Seite anzulegen oder schlimmer.

Nach einiger Recherche und diversen Tests habe ich nun eine recht zuverlässige Möglichkeit gefunden und möchte diese hier vorstellen.

Erst mal der PHP Code, dann die Erläuterung dazu.

require_once(PATH_t3lib.'class.t3lib_befunc.php');
$pageTS = t3lib_BEfunc::getPagesTSconfig($GLOBALS['TSFE']->id);
$variable = $pageTS['plugin.']['tx_meinplugin_pi1.']['variable'];

Also ... was passiert hier?

Zuerst wird die zuständige Class aus dem t3lib Verzeichnis geladen. Ist dies bereits vorher im Plugin schon passiert, kann man sich das natürlich sparen.

Dann hole ich mir das Seiten Typoscript für die aktuelle Seiten ID ($GLOBALS['TSFE']->id).

Jetzt kann man mit der angedeuteten Schreibweise auf das Typoscript Array zugreifen und sich die Variablen herausziehen. Und zwar nicht nur für das eigene Plugin sondern für alles was dort abgelegt ist.

Dieses TS sieht in diesem Falle dann ungefähr so aus:

plugin.tx_meinplugin_pi1.variable = Test

Man kann auch das SeitenTS anderer Seiten auslesen. Dazu muss man dann nur die ID wissen und dort anstelle von $GLOBALS['TSFE']->id einfügen.