我在TYPO3中有以下页面结构:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
现在我想在页眉菜单中包含1 / * + 4 / *,在页脚菜单中包含4 / * + 7 / *。由于页眉和页脚菜单不同,我不能只使用“隐藏在菜单中”功能,而是需要在TypoScript中执行此操作。
这是我到目前为止所拥有的:
HEADERMENU = HMENU
HEADERMENU {
1 = TMENU
1.expAll = 1
1.NO = 1
1.NO {
stdWrap.if.value.field = uid
stdWrap.if.equals = 7
stdWrap.if.negate = 1
}
2 < .1
}
FOOTERMENU < HEADERMENU
FOOTERMENU.1.NO.stdWrap.if.equals = 1
问题在于它仍然在页眉中显示页面8 + 9,在页脚中显示2 + 3,即使它不再显示第1/7页。我知道我可以使用if.isInList
并提供所有子页面ID,但是每次添加新页面时我都必须更改TypoScript。如果可能,我想动态地排除页面及其所有子页面。
我该怎么做?
答案 0 :(得分:1)
正如Daniel在回答中提到的,有一种方法可以显示所选页面的所有子页面。 special = directory
仅显示子页面。因此,您只能在菜单中看到2/3
和5/6
以及8/9
。
special =目录
&#34;这将生成一个包含pid = 35和pid = 56的所有页面的菜单。&#34;
我会建议excludeUidList
属性。
HEADERMENU = HMENU
HEADERMENU {
excludeUidList = 7
1 = TMENU
1.expAll = 1
2 < .1
}
FOOTERMENU < HEADERMENU
FOOTERMENU.excludeUidList = 1
它在数据库WHERE
查询中作为SELECT
条件运行,因此您无法在第一级获取这些页面,也不会找到它们的子页面。
答案 1 :(得分:0)
您可以使用special=directory
方法呈现一个或多个网页及其子页面的菜单。
HEADERMENU.special = directory
HEADERMENU.special.value = 1, 4
中的更多信息