[TYPO3-dev] order of rendering of plugins

stefano cecere scecere at krur.com
Wed Jan 30 15:39:10 CET 2008


Hi Oliver

no, i have this configuration:

temp.mainTemplate = TEMPLATE
temp.mainTemplate {
   template =< plugin.tx_automaketemplate_pi1
   workOnSubpart = DOCUMENT_BODY
   subparts.topMenu < temp.topMenu
   subparts.headerMenu < temp.topmenu
   subparts.container_leftMenu < temp.submenu
   subparts.content_normal < styles.content.get ### (plugin pi1 is here, managed as content)
   subparts.footer < lib.footer
   subparts.headerInfo < plugin.pi2
}

as yo ucan see, i have pi1 as page content
and pi2 as hardcoded plugin (but it would be the same if it was in content_border.

i can't put them in one COA, or yes?

it seems that the one calling the plugins is the order of the ###TAGS### in the template..
if i have:

<div id="header">###headerInfo###</div>
<div id="content">###content_normal###</div>


then subparts.headerInfo < plugin.pi2 is called FIRST. always.

they are all non-cached plugins because of high dynamic contents (it's a web application, not a web site)

what do you think?

also if i wouldn't not use the TEMPLATE object, but build the output with direct TS, the output order wouldn't change...

...

right?
stefano







Oliver Hader wrote:
> Hi Stefano,
> 
> stefano cecere schrieb:
>> since the TS setup is an ordered array...
>>
>> if i put:
>>
>> 10 < plugin.pi1
>> 20 < plugin.pi2
>>
>> and then the output
>>
>> ###PLUGIN_pi2###
>> ###PLUGIN_pi1###
>>
>> why is pi2 called first?
>> can't typo3 use the TS array order to call plugins?
>>
>> (i tried with all caching possibilities of the TEMPLATE object, to put 
>> pi2 and INT non cached, but nothing)
>>
>> any other hint?
> 
> I guess you've something like the following:
> 10 = COA
> 10 {
>   10 < plugin.tx_blah_pi1 (maybe USER_INT)
>   20 < plugin.tx_blah_pi2 (maybe USER)
> }
> 
> If the pi1 is an USER_INT (or *_INT) it will be executed after pi2.
> Except the *_INT case, the order of numeric keys will be used in 
> general. Thus, also when you have a TypoScript like that:
> 
> 10 = COA
> 10.30 = TEXT
> 10.20 = TEXT
> 10.40 = TEXT
> 10.10 = TEXT
> 
> -> Order will be 10,20,30,40 - t3lib_TStemplate::sortedKeyList takes 
> care about this order and is executed on the TypoScript several time in 
> tslib_cObj.
> 
> olly




More information about the TYPO3-dev mailing list