从页面 uID 开始创建菜单

Create Menu starting from page uID

我需要创建一个 HMENU,它从某个页面 uid 开始并递归遍历该页面下的所有页面。我尝试从 'special' 菜单 'list' 开始,该页面作为唯一列出的页面,但不起作用。 这可能吗?有什么想法吗?

提前感谢您的任何建议

编辑: 这是对我有效的解决方案

lib.footmenu >
lib.footmenu = HMENU
lib.footmenu.special = directory
lib.footmenu.special.value = 132
lib.footmenu.excludeUidList = 287
lib.footmenu {
    1= TMENU
    1.expAll= 1
    1.wrap = <ul class="menufoot1">|</ul>

    1.NO{
        wrapItemAndSub = <li class="level1">|</li>
        1.ATagTitle.field = title
        1.ATagParams =
    }

    2 < .1
    2.wrap = <ul class="menufoot2">|</ul>

    3 < .2
    3.wrap = <ul class="menufoot3">|</ul>

    4 < .3
    4.wrap = <ul class="menufoot3">|</ul>

    5 < .4
    5.wrap = <ul class="menufoot3">|</ul>

    6 < .5
    6.wrap = <ul class="menufoot3">|</ul>


}

现在我还有一个问题。我想排除某个 uid 下的所有页面(这是内部页面太多的事件页面)。我尝试使用 excludeUidList 但显然它也忽略了提到的页面(uid=287),但我只想忽略它的孩子。

您只需在 TMENU 定义中添加更多级别。

请参阅文档中的 属性“1/2/3”:https://docs.typo3.org/m/typo3/reference-typoscript/master/en-us/ContentObjects/Hmenu/Index.html

如果您想一次查看更多级别,您应该使用 expAll 属性:https://docs.typo3.org/m/typo3/reference-typoscript/master/en-us/MenuObjects/Tmenu/Index.html

我会选择

special = directory

你应该添加

expAll = 1

到 TMENU 的第一层(然后复制到您的子层)。

详细了解 TMENU 中的特殊关键字: https://docs.typo3.org/m/typo3/reference-typoscript/master/en-us/ContentObjects/Hmenu/Index.html#the-special-property

我认为这里的问题,正如@BastianBalthasarBux 所指出的那样,是缺少 expAll = 1

我认为您的 TypoScript 代码可以这样简化:(我以 this one 为例):

lib.footmenu > 
lib.footmenu = HMENU
lib.footmenu.special = list
lib.footmenu.special.value = 132

lib.footmenu {
  1 = TMENU
  1.expAll = 1 
  1.wrap = <ul class="menufoot1">|</ul>
  1.NO {
    wrapItemAndSub = <li>|</li> 
    ATagTitle.field = title
    ATagParams =
  } 
  2 < .1
  2.wrap = <ul class="menufoot2">|</ul>

  3 < .1
  3.wrap = <ul class="menufoot3">|</ul>
}