1

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

我怎样才能做到这一点?

4

2 回答 2

1

正如丹尼尔在他的回答中提到的,有一种方法可以显示所选页面的所有子页面。special = directory但是只显示子页面。所以你只能在你的菜单中看到2/3and 。5/68/9

特殊 = 目录

“这将生成一个包含 pid = 35 和 pid = 56 的所有页面的菜单。”

我会建议的excludeUidList财产。

HEADERMENU = HMENU
HEADERMENU {
    excludeUidList = 7
    1 = TMENU
    1.expAll = 1

    2 < .1
}

FOOTERMENU < HEADERMENU
FOOTERMENU.excludeUidList = 1

WHERE它在数据库查询中作为条件工作SELECT,因此您不会在第一级获得这些页面,也不会找到它们的子页面。

于 2016-05-18T11:50:29.297 回答
0

您可以special=directory采用呈现一个或多个页面及其子页面的菜单的方法。

HEADERMENU.special = directory
HEADERMENU.special.value = 1, 4

文档中的更多信息。

于 2016-05-17T19:30:23.837 回答