我正在尝试创建一个菜单,在TYPO3中显示所有子页面和父页面。我的问题是我找不到动态分配entryLevel
的方法。
我正在使用TYPO3 6.1
这是我目前的菜单标题。
lib.mainnavi = HMENU
lib.mainnavi {
entryLevel = 1
1 = TMENU
1.wrap = <ul> | </ul>
1 {
noBlur = 1
NO {
subst_elementUid = 1
allWrap = <li id="link{elementUid}" class="first">| |*| <li id="link{elementUid}">| |*| <li id="link{elementUid}" class="last">|
wrapItemAndSub = |</li>
}
ACT = 1
ACT {
subst_elementUid = 1
allWrap = <li id="link{elementUid}" class="first current first_current">| |*| <li id="link{elementUid}" class="current">| |*| <li id="link{elementUid}" class="last current last_current">|
wrapItemAndSub = |</li>
}
}
}
下面是一张图片来说明我想要的东西
当我转到“1”时,我想看“FAQ”,“GTC(EU)”和“GTC(USA)”。
当我去“常见问题”时,我希望看到A-J和“1”作为“返回”
当我去“A”时,我希望将“FAQ”视为“返回”
我可以使用第二个菜单和special = browse
制作“返回”菜单。但我找不到动态设置entryLevel
的方法
答案 0 :(得分:8)
入门级可以获得正值和负值。
正值表示从根页面计算的绝对等级位置。
Root => 0
- Page => 1
- Page => 2
- Current Page => 3
负值将是相对的,并从当前页面计算回根
Root => -4
- Page => -3
-Page => -2
- Current Page => -1
这样您就不必为每个级别使用条件,这会使缓存表膨胀。
Root => 0
- Page => 1
- Current Page => 2
Root => -3
- Page => -2
- Current Page => -1
答案 1 :(得分:1)
您可以使用低于TS代码的条件调整entryLevel
设置。只需查看treeLevel
条件的documentation即可。
像这样使用:
[treeLevel = 2]
lib.mainnavi.entryLevel = 2
[end]
答案 2 :(得分:0)
还有一个解决方案,根本不使用entryLevel:
lib.mainnavi = HMENU
lib.mainnavi {
special = directory
special.value.field = uid
...
}
这将创建一个页面菜单,其中当前页面的UID为当前页面的PID,AKA子页面。
答案 3 :(得分:0)
这对我有用:
lib.mainnavi = HMENU
lib.mainnavi {
entryLevel = 1
special = directory
special.value.data = leveluid:-1
# your code here ...
}