使用“HMENU”时显示的级别错误;“入口级别”;属性

使用“HMENU”时显示的级别错误;“入口级别”;属性,menu,content-management-system,typo3,typoscript,Menu,Content Management System,Typo3,Typoscript,我已经按照所有可用的说明进行了操作,但以下打字稿并没有达到预期的效果: lib.menu.mainMenu = HMENU lib.menu.mainMenu { entryLevel = 0 1 = TMENU 1 { NO = 1 NO { stdWrap.htmlSpecialChars = 1 allWrap = <li>|</li> |*| <li>

我已经按照所有可用的说明进行了操作,但以下打字稿并没有达到预期的效果:

lib.menu.mainMenu = HMENU
lib.menu.mainMenu {
    entryLevel = 0
    1 = TMENU
    1 {
        NO = 1
        NO {
            stdWrap.htmlSpecialChars = 1
            allWrap = <li>|</li> |*| <li>|</li> |*| <li>|</li>
        }
        CUR = 1
        CUR {
            allWrap = <li>|</li> |*| <li>|</li> |*| <li>|</li>
        }
        ACT = 1
        ACT {
            allWrap = <li>|</li> |*| <li>|</li> |*| <li>|</li>
        }
    }
}
lib.menu.main菜单=menu
lib.menu.main菜单{
entryLevel=0
1=t菜单
1 {
否=1
没有{
stdWrap.htmlSpecialChars=1
allWrap=
  • *
  • *
  • |
  • } CUR=1 CUR{ allWrap=
  • *
  • *
  • |
  • } ACT=1 表演{ allWrap=
  • *
  • *
  • |
  • } } }
    不显示(总是!)页面结构的第一级,而是显示第二级,依此类推。特别是叶节点会导致一个空菜单栏。我不明白这一点,不同的手册明确规定,如果没有定义其他级别,则始终只会出现第一个级别!那么,如果没有定义,第二个级别如何以相同的方式显示


    Typo3版本:6.1.5

    此行为的一个可能原因是,在根行的某个位置(可能在第一级),您有一个设置了“Rootlevel”的模板记录。因此,这将被视为根页面(至少在
    menu
    s中),并且
    entryLevel=0
    因此会生成此页面的子页面。

    您是否验证键入脚本中没有lib.menu.main菜单的其他定义?请在TypoScript对象浏览器中检查此项。实际上,我也尝试将其更改为“lib.mainMenu”。此外,第二个菜单“lib.subMenu”应提供所有剩余的菜单项(具有3级TMENU;entryLevel=1)。然而,第二个也不能正常工作。它忽略级别定义,仅显示当前页面的子节点。我还检查了安装过程中复制的演示材料。fileadmin/default/TypoScript/menu(firstLevel和secondLevel)中的菜单脚本产生相同的结果。好的,我想我已经了解了基本的想法,但是我应该如何避免这种情况?我的理解是,我需要一个设置了rootlevel的模板,否则TYPO3会在访问frontpage时抱怨缺少模板。我想我已经根据您的建议找到了真正的原因。也许我想在第一个迭代步骤中做得更多。由于我希望在主页上有一个稍微不同的模板,我认为为下一个级别分配一个扩展版本是准确的。但我将原始根模板作为扩展版本的(静态?)基础。这显然是问题的根源。但接下来的问题是如何正确设置此场景?尽管如此,我还是接受了我最初问题的(最佳)答案!我建议你为此贴一个新问题。不同的模板技术可能需要不同的方法。从你写的内容中,我了解到根页面是你的主页。这是我从来没有做过的事。在我管理的所有TYPO3安装中,网站的根页面(不是UID为0的绝对根页面)是主页的快捷方式,主页是该根页面的子页面;我想我在什么地方读过。但你的建议完全有道理。我不知道页面树中的每个项目都可以更改为链接。这应该可以,否则我会发布一个新问题。非常感谢。