[TYPO3-dev] 4.3 PageIncludes

Steffen Kamper info at sk-typo3.de
Wed Oct 28 20:07:13 CET 2009


Hi Ernesto,

Ernesto Baschny [cron IT] schrieb:
> 
> Nice new features Steffen, thanks again for that!
>

thx. I think tey all are very useful for better control of inclusions.

> Some things were unclear to me, so I figure out it will also be unclear
> to other people too. So Steffen, could you please elaborate a more about
> these things in the pending docu page? Tt would be very much appreciated:
> 

i take the opportunity to explain it here as it's more public than wiki, 
will add some notes in wiki later.
> First about:
> 
> - includeJS (we always had that)
> - includeJSlibs
> - includeJSFooterlibs
> - includeFooterJS
> 
> 1) includeJSlibs (new) vs includeJS. What's the difference? In the
> documentation they are described in the exact same manner. What's the
> different of a "non-lib" with a "lib"?
> 

In general there is no difference, but they are rendered to different 
markers. In practise you always have some "libs" and scripts depend on 
libs, so the main difference is that libs are rendered on top of 
scripts. So you don't have to worry like before where you had to use 
high numbers (headerData.100000) to be sure it will be rendered after 
other scripts.

> 2) why does one want to do a "config.moveJsFromHeaderToFooter"? The
> documentation should explain a bit more when it makes sense and when not.
>

I think it's best described here:
http://developer.yahoo.com/performance/rules.html

In short: if you place JS below content, the browser renders the visible 
content first and then start loading JS, so you don't have to wait for 
JS be loaded before seeing content. There are other performance reason 
described in details with above link.


> 3) are includeFooterJS + includeJSFooterlibs affected by the new
> "config.moveJsFromHeaderToFooter"? Will they come before or after the
> "header js moved to the footer"?
>

If you look to the markers, the sequence of the markers will not change.
Without setting (short)
###JSLIBS###
###JSFILES###
###CONTENT###
###JSFOOTERLIBS###
###JSFOOTERFILES###
and with the setting:
###CONTENT###
###JSLIBS###
###JSFILES###
###JSFOOTERLIBS###
###JSFOOTERFILES###

so you don't have to worry about loading sequence.

> 4) new "footerData", maybe we could add the use-case of plugins that in
> the past added themselves to "page.999" or something, which is then no
> longer required. page.footerData.extKey < plugin.blabla is much nicer.
> 
absolutely. There are many usecases like google analytics, stats etc.

> 5) the "pageRenderTemplateFile" property is poorly described. What is
> this template? How would an user know what the "pageRender class" is?
> What does the "default template" do and when and why would one want to
> adapt it?
>
core use this template for page render:
typo3/sysext/cms/tslib/templates/tslib_page_frontend.html

If you need special ordering or other tiny stuff, just copy this file to 
fileadmin/templates, change to your need and set with this TS setting.

> 
> And then some general questions about these new flags, as I
> unfortunately haven't really followed that discussion:
> 
> a) why is the naming of the last too not consistent? One is JSFooter,
> the other one is FooterJS (flipped around)
> 
mabye unlucky. I think it's not too late to adjust them as we are still 
in Beta.

> b) why do we need such a difference anyway? Couldn't "footer=1" be just
> a flag for the regular includeJS?
> 
i had this in the beginning and i recognized disadvantages. Mostly it's 
because of clean separation and better clarity of stucture in your 
templates. Then it's rendered to different/corresponding markers.

> [1] http://wiki.typo3.org/index.php/Pending_Documentation

ever good to post this link ;)

One additional answer for the question of Tobias

 > Can you explain what "forceOnTop = 0/1" means/makes?

this is an additional flag inside one "Block". Setting means you add the 
file to the beginning of this block, without it's added at the end.

Hope explanation was sufficient and understandable.

vg Steffen





More information about the TYPO3-dev mailing list