[TYPO3-dev] PageRender and USER_INT Plugins
Susanne Moog
typo3 at susannemoog.de
Tue Mar 16 21:10:29 CET 2010
Hey,
Am 14.03.2010 16:03, schrieb Steffen Kamper:
> Hi,
>
> Susanne Moog schrieb:
>> Hey Steffen, hey all,
>>
>> Am 13.03.2010 19:06, schrieb Steffen Kamper:
>>> Hi Jeff,
>>>
>>> yes, that is true. It's because of the render mechanism of INT-objects
>>> in pagegen, they are rendered after complete page generation using
>>> placeholder vars which are replaced after.
>>>
>>> I don't see an easy workaround for this problem.
>>
>> as we had to search for a workaround just last week for the exact same
>> problem here is a short proposal:
>>
>> What if you had a certain reserved method name in a plugin that is
>> called independet of the normal caching mechanism? Like you have a main
>> method and a main_noCache method that is always called.
>>
>> Then you could be shure that for every rendering of the page all
>> stylesheets are in the pagerenderer array.
>>
>> What do you think? Would this be possible?
>>
>
>
> not really. The complete plugin isn't rendered if it's UNT, so how would
> you extract that data?
I just had a look how we solved it. We are using this:
$contentHookArr = array(
'user',
'user_int'
);
for($u=0; $u<count($contentHookArr); $u++) {
$TYPO3_CONF_VARS['SC_OPTIONS']['tslib/class.tslib_content.php']['cObjTypeAndClass'][] = array(
strtoupper($contentHookArr[$u]),
'EXT:tuicommonconstants/class.user_common.php:&user_common'
);
}
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/class.tslib_fe.php']['contentPostProc-output']['common']
= 'EXT:common/class.user_common.php:&user_common->user_getResFiles';
And inside the first hook we call:
$pluginObj->mainNoCache();
This is working for all cases (we are actually adding CSS and JS this
way in TYPO3 4.2.x), but not a really nice solution ...
Best regards,
Susanne
More information about the TYPO3-dev
mailing list