[TYPO3-english] Reduce amount of queries for megamenu
Naberd Zendi
naberd at uwkm.nl
Wed Jun 14 14:09:19 CEST 2017
wel i have a megamenu on website.
megamenu is written in typoscript:
lib.menu = COA
lib.menu {
10 = HMENU
10 {
1 = TMENU
1 {
noBlur = 1
expAll = 1
NO = 1
NO {
ATagTitle.field = abstract // description // title
allWrap.insertData=1
allWrap = <li class="">|
wrapItemAndSub = |</li>
}
ACT < .NO
ACT.allWrap.insertData=1
ACT.allWrap = <li class="active">|
ACT.wrapItemAndSub = |</li>
CUR < .ACT
IFSUB = 1
IFSUB {
allWrap.insertData=1
allWrap = <li class="dropdown">|
wrapItemAndSub = | </li>
stdWrap.wrap = | <i class="fa fa-caret-down"></i>
ATagParams = class="dropdown-toggle"
}
ACTIFSUB < .IFSUB
ACTIFSUB {
allWrap.insertData=1
allWrap = <li class="active dropdown">|
wrapItemAndSub = | </li>
stdWrap.wrap = | <i class="fa fa-caret-down"></i>
}
CURIFSUB < .ACTIFSUB
SPC = 1
SPC {
wrapItemAndSub = <li>|</li>
doNotShowLink = 1
}
}
2 = TMENU
2 {
wrap = <!--[if IE 6]><table><tr><td><![endif]--><ul class="dropdown-menu"> | </ul><!--[if IE 6]></td></tr></table></a><![endif]-->
expAll = 1
NO = 1
NO {
ATagTitle.field = abstract // description // title
allWrap.insertData=1
allWrap = <li class="">|
wrapItemAndSub = |</li>
}
ACT < .NO
ACT.allWrap.insertData=1
ACT.allWrap = <li class="active">|
ACT.wrapItemAndSub = |</li>
CUR < .ACT
IFSUB = 1
IFSUB {
allWrap.insertData=1
allWrap = <li class="dropdown-submenu">|
wrapItemAndSub = | </li>
ATagParams = class="dropdown-toggle"
}
ACTIFSUB < .IFSUB
ACTIFSUB {
allWrap.insertData=1
allWrap = <li class="active dropdown-submenu">|
wrapItemAndSub = | </li>
}
CURIFSUB < .ACTIFSUB
}
3 < .2
4 < .2
}
}
right now page uses 2546 queries.
if i remove 2,3 and 4 layers from my menu the page uses only 750 queries which means that submenu uses over 1800 queries.
without submenu page is loading under 1400ms with submenu it loads between 3540-4480ms.
so the question is how to reduce that insane amount of queries and keep submenu ?
More information about the TYPO3-english
mailing list