隐藏页面&菜单中的子页面

时间:2016-05-17 12:49:38

标签: typo3 typo3-7.6.x

我在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。如果可能,我想动态地排除页面及其所有子页面。

我该怎么做?

2 个答案:

答案 0 :(得分:1)

正如Daniel在回答中提到的,有一种方法可以显示所选页面的所有子页面。 special = directory仅显示子页面。因此,您只能在菜单中看到2/35/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

documentation

中的更多信息