[TYPO3-dev] How to get the extension typoscript configuration inside an eID script?

Peter Klein pmk at io.dk
Mon Nov 16 11:26:26 CET 2009


Hi Ernesto.

I usually use the type approch when working with FE/AJAX.
This snippet was originally written for a BE/hook extension, where I had to 
read the tt_news TS setup.
And AFIK there's no way of accessing the Typoscript setup other than 
creating a tmpl/tsfe object.

--
Peter Klein

"Ernesto Baschny [cron IT]" <ernst at cron-it.de> wrote in message 
news:mailman.1.1258366809.4693.typo3-dev at lists.typo3.org...
> Hi,
>
> Peter Klein schrieb:
>
>> If you don't need a full TSFE and only need to access some config
>> vars/options, then you can do something like this:
>>
>> /* Classes required for creating a tmpl object */
>> require_once(PATH_t3lib."class.t3lib_extobjbase.php");
>> require_once(PATH_t3lib."class.t3lib_tsparser_ext.php");
>> require_once(PATH_t3lib."class.t3lib_page.php");
>>
>>     $pageId = <SET THIS TO THE ID OF THE CURRENT PAGE>;
>>
>>    $tmpl = t3lib_div::makeInstance("t3lib_tsparser_ext");
>>    $tmpl->tt_track = 0; // Do not log time-performance information
>>    $tmpl->init();
>>    // Gets the rootLine
>>    $sys_page = t3lib_div::makeInstance("t3lib_pageSelect");
>>    $rootLine = $sys_page->getRootLine($pageId);
>>    // This generates the constants/config + hierarchy info for the 
>> template.
>>    $tmpl->runThroughTemplates($rootLine,0);
>>    $tmpl->generateConfig();
>>
>>     // Example: Get the TS config for the tt_news plugin
>>    $ttnewsConf = $tmpl->setup['plugin.']['tt_news.'];
>
> I think this is much worse than just using a page type.
> runThroughTemplates() is very "dumb" and low level: it generates lots of
> SQL queries to fetch your typoscript from rootline, parses it, includes
> external files, extension typoscript, and at the end generates the
> needed array.
>
> In a full blown TSFE enrivonment you get all this with "one" query, as
> it is already cached and can be served in no-time.
>
> So apart from being more code to write, it will most probably not be
> more performant than loading an USER_INT on an ajax "page" cObject. Or
> maybe your ajax call can even be cached as an USER object, which is then
> even faster!
>
> Cheers,
> Ernesto 






More information about the TYPO3-dev mailing list