在我的TYPO3 6.2.31(我知道......)页面中,我有以下导航的标题:
NAVIMAIN = HMENU
NAVIMAIN.entryLevel = 0
#NAVIMAIN.excludeUidList =
NAVIMAIN {
1 = TMENU
1 {
expAll = 1
wrap = <ul class="sf-menu">|</ul>
noBlur = 1
NO = 1
NO.ATagTitle.field = title
NO.wrapItemAndSub = <li>|</li>
ACT = 1
ACT.wrapItemAndSub = <li class="active"> |</li>
}
2 = TMENU
2 {
expAll = 1
maxItems = 10
wrap = <div class="sf-mega">|</div>
NO = 1
NO {
ATagTitle.field = title
wrapItemAndSub = <div class="sf-mega-section">|</div>
stdWrap.wrap = |
ATagParams = class="headermega"
stdWrap.htmlSpecialChars = 1
doNotLinkIt = 0
}
}
3 = TMENU
3 {
expAll = 1
maxItems = 20
wrap = <ul>|</ul>
NO = 1
NO {
ATagTitle.field = title
linkWrap = <li>|</li>
}
ACT = 1
ACT {
wrapItemAndSub = <li>|</li>
ATagParams = class="active"
}
}
#4 < .3
}
所有子页面在被点击时都标记为aktive ...但是根节点不是......所以我也添加了这个:
[globalVar = TSFE:id=1]
NAVIMAIN.alwaysActivePIDlist = 1
[global]
[globalVar = TSFE:id=1]
NAVIMAIN.alwaysActivePIDlist = 60
[global]
但这并没有任何影响。
如何将根节点标记为活动状态?
提前致谢
答案 0 :(得分:2)
如果您希望两个页面都处于活动状态,则需要按照自己的方式执行另一个构造,第二个分配将覆盖第一个构造。
[globalVar = TSFE:id=1]
NAVIMAIN.alwaysActivePIDlist := addToList(1)
[global]
[globalVar = TSFE:id=1]
NAVIMAIN.alwaysActivePIDlist := addToList(60)
[global]
一般来说,你会加入这两个陈述。
我会考虑另一个改变:使用另一个条件,因为TSFE将在不久的将来过时:
[page:uid = 1]
NAVIMAIN.alwaysActivePIDlist = 1,60
[global]
答案 1 :(得分:2)
经过一些Teamviewer调查后,我们在Typoscript结构中找到了问题的根源。 [globalVar]
条件放在page.20.marks {}
内,但条件必须放在任何嵌套之外。
将条件移到嵌套之外并纠正路径,一切正常。
[globalVar = TSFE:id=1]
page.20.marks.NAVIMAIN.alwaysActivePIDlist = 60
[global]
正如Bernd所说,[page:uid = 1]
也是更好的条件。