[TYPO3-UG Denmark] HMENU gør side langsom
Søren Andersen
hacksaw at zpeed.dk
Tue Feb 8 00:24:41 CET 2011
Hej alle
Jeg har en side som benytter sig af en dropdown menu. Dvs. at HTML koden for
alle menupunkter fremgår på alle sider.
Det stykke HTML der bliver lavet første gang menuen genereres er det samme
stykke HTML som skal vises overalt på hele hjemmesiden. Desværre lader det
til at TYPO3 regenererer koden på hvert eneste sideskift, og det tager
mildest talt en evighed på first load når først en side har været vist én
gang bliver den hurtigt vist fra cache.
Det skyldes måske at jeg bruger en del betingelser i den måde jeg genererer
menuen på, da jeg gerne vil have nogle ikoner på afhængigt af om det er en
kategori-side eller et eksternt link.
Hvordan kan jeg gøre sådan at TYPO3 cacher min HMENU på tværs af alle sider?
Er der evt. en hook jeg kan udnytte, så jeg selv kan lave et stykke kode der
fanger HMENUen første gang den laves efter cache er ryddet og derefter
serverer det samme HTML igen og igen indtil cache tømmes næste gang?
Koden ser således ud:
lib.mainMenu = HMENU
lib.mainMenu {
1 = TMENU
1 {
expAll = 1
wrap (
<ul id="nav">
<li><a href="/" onfocus="blurLink(this);">Forsiden</a></li>
|</ul>
)
NO {
wrapItemAndSub (
<li>|</li>
)
}
}
2 < .1
2 {
wrap = <ul>|</ul>
NO {
wrapItemAndSub = <li>|</li>
doNotLinkIt = 1
stdWrap.cObject = CASE
stdWrap.cObject {
key.field = doktype
default = TEXT
default {
field = nav_title // title
typolink.parameter.field = uid
typolink.ATagParams = class="parentItem"
typolink.ATagParams.if {
value.field = layout
equals = 99
}
stdWrap.htmlSpecialChars = 1
}
# 4 = shortcut
4 = TEXT
4 {
field = title
typolink.parameter.field = shortcut
}
# 3 = external url
3 = TEXT
3 {
field = title
typolink.parameter.field = url
typolink.extTarget = _blank
typolink.ATagParams = class="externalItem"
}
}
}
}
3 < .2
3 {
wrap >
stdWrap.wrap = <ul>|</ul>
stdWrap.if.value.cObject = RECORDS
stdWrap.if.value.cObject {
tables = pages
source.field = pid
conf.pages = TEXT
conf.pages.field = layout
}
stdWrap.if.equals = 99
}
}
Med venlig hilsen
Søren Andersen
More information about the TYPO3-UG-Denmark
mailing list