Vor einigen Tagen, beim Schreiben an der Extension zum Handling von Login-News, kam ich wieder mal den Punkt TypoScript aus einer Datei laden zu müssen, um dies dann im Source auswerten zu können. Eine eigentlich recht einfache Aufgabe, wenn man die entsprechende Klasse zur Hand hat. Daher im Folgenden ein paar kurze Hinweis dazu. Eine Datei einzulesen ist einfach und kann mit
$confFile .= file_get_contents($File);
geschehen, woraufhin der Inhalt der Datei in $confFile steht. Die Variable $confFile enthält den Text der Datei, aber noch kein auswertbares TS-Array. Um dies zu erhalten muss der Parser die Daten erst noch verarbeiten und in ein TypoScript-Array konvertieren, was mit dem folgenden Code geschehen kann:
$tsParser = t3lib_div::makeInstance('t3lib_TSparser'); $tsParser->parse($confFile); $tsArray = $tsParser->setup;
In der ersten Zeile wird eine Instanz des TSparsers erzeugt, deren Methode parse() anschliessend anschliessend die eingelesene Datei übergeben wird. Nach Ausführung von parse() steht das TS-Array in der Variable $tsParser->setup zur weiteren Verarbeitung zur Verfügung und kann wie jedes Array verarbeitet werden.
Auf die einzelnen Schlüssel kann dann wie im folgenden Beispiel zugegriffen werden:
$parseFunc = $tsArray['lib.']['parseFunc.']