Oft benötigt man Angaben, die im Typoscript eines Templates stehen. Nun wird dieses Template ja im FE gerendert. Was also tun, wenn man das Typoscript im BE-Modul braucht, um z.B. eine Einstellung auszulesen ?
Dafür kann man folgende Funktion benutzen, die einem Das Typoscript einer Seite zurückliefert. Als Parameter wird die ID der Seite erwartet.

Impressum
Mollio

1
Seite 1 von 1
Kann es sein da dieses includen nur in bestimmten Versionen von TYPO3 nötig ist? Genauer gesagt in 4.2.x? In 4.3 und 4.4 läuft das auch ohne.
Verwandte Threads:
lists.typo3.org/pipermail/typo3-english/2008-June/050689.html
www.npostnik.de/typo3/neuer-name-fur-pageselect
www.typo3forum.net/forum/typo3-4-x-backend/27635-naw_securedl-fehlende-dateien.html
www.typo3forum.net/forum/alle-anderen-extensions/24285-sk_softlinks-fatal-error.html
Finde die Lösungen hier im Ansatz nicht verkehrt aber eigentlich viel zu umständlich ... wie wäre es mit knappen 3 Zeilen PHP Code:
www.marko-roeper.de/typo-3/wissenswertes.html
Ganz einfach: gesucht wurde das TS-Setup einer Seite, nicht das TSConfig ...
Fatal error: t3lib_div::require_once() [function.require]: Failed opening required '/home/www/XXXX/html/t3lib/class.t3lib_pageselect.php' (include_path='.:/usr/local/php/lib/php:/usr/local/php/lib/php/PEAR') in /typo3_src-4.1.7/t3lib/class.t3lib_div.php on line 4145
Was muss ich wo includieren?
Gruss
Boris
require_once (PATH_t3lib . 'class.t3lib_page.php');
Hoi,
in den Kommentaren gibt es einen kleinen Fehler bzgl. Auslesen von Plugin-TypoScript
Nochmal zur korrekten Klärung nach dem obenstehenden Prinzip:
Wenn wir z.B. die Templatedatei der tt_news auslesen wollen (plugin.tt_news.file.templateFile = foo.html), funktioniert das Ganze wie folgt:
$typoscript = loadTS($GLOBALS['TSFE']->id);
$templatedatei = $typoscript['plugin.']['tt_news.']['file.']['templateFile']
Ein
echo $templatedatei;
liefert dann also "foo.html".
Natürlich kann man über diesen weg auch selbsterstellte tt_news-Optionen auslesen.
Beispiel:
plugin.tt_news.file.LoremIpsum = 123
Das Ganze funktioniert natürlich nicht nur in BE-Modulen, sondern auch in Frontend-Modulen, z.B. wenn man (wie in meinem Fall) die tt_news mit neuen Markern erweitert und spezielle (evtl. selbst erstellte) tt_news-Optionen (-> plugin.tt_news.file.LoremIpsum) dafür auslesen will/muss.
hth - fabian
Hallo Steffen,
vielen dank für den Tipp!
Hab ich jetzt schon einige Zeit nach einer solchen Möglichkeit gesucht.
Nachdem ich nun das TS meiner rootpage auslesen konnte, habe ich noch das Problem, dass ich nicht genau weiß, wie ich dann auf die Variable in diesem Array zugreifen kann. Ich habe da drin stehen: [tx_extkey_modul1.] => Array ( [text] => halloWelt ).
Wie komme ich da jetzt in meiner Klasse dran? Grüße und nochmals vielen Dank
Hi,
so:
$ts = $this->loadTS(1);
$text = $ts['tx_extkey_modul1.']['text'];
Danke für die schnelle Antwort.
Ich habe deinen Ansatz versucht. Bekomme aber bei einer Ausgabe von $text kein halloWelt ausgegeben. Das TS steht im setup und sieht so aus:
plugin.tx_extkey_modul1 {
text = halloWelt
}
Muss da noch was in die Constants?
$ts = $this->loadTS(1);
$text = $ts['plugin.']['tx_extkey_modul1.']['text'];
Hallo,
ich habe biede Methoden versucht, nur leider kommt folgende Fehlermeldung:
typo3/t3lib/class.t3lib_pageselect.php) [function.t3lib-div-require-once]: failed to open stream: No such file or directory
DIe Datei ist nicht da, muss da noch irgendwas zusätzlich installiert werden?
Viele Grüße,
Jörn
die Klasse ist in dieser Datei, die inkludiert werden muss:
t3lib/class.t3lib_page.php
Ist das nicht einfach als:
$pS = t3lib_div::makeInstance('t3lib_pageSelect');
tslib_fe::includeTCA();
$tmlp = t3lib_div::makeInstance('t3lib_TStemplate');
$tmlp->init();
$tmlp->start($pS->getRootline(intval($_GET['pid'])));
$var = $tmlp->setup['plugin.']['tx_name_pi1.'][‘varpath.'][‘var'];
durchaus
im Laufe der Zeit schafft man es immer besser zu vereinfachen 