TYPO3 v12.4 如果当前级别没有项目,如何更改HMENU中的entryLevel?

问题描述 投票:0回答:1

有人可以向我解释一下,为什么这个 TypoScript 在 12.4 版本中不再工作了。我从 7.6 进行更新,并认为 treeLevel -> tree.level 是这方面唯一的变化。

这是我的代码:

lib._submenu = HMENU
lib._submenu {
    1 = TMENU
    1 {      
        expAll = 1
        NO.wrapItemAndSub = <li>|</li>
        IFSUB = 1
        IFSUB.wrapItemAndSub = <li class="hasSub">|</li>
        ACT < .NO
        ACT = 1
        ACT.wrapItemAndSub = <li class="active">|</li>
        ACT.ATagParams = class="active"    
        ACTIFSUB = 1
        ACTIFSUB.wrapItemAndSub = <li class="hasSub active">|</li>
        ACTIFSUB.ATagParams = class="active" 
        SPC = 1
        SPC.wrapItemAndSub = <li class="trenner">|</li>
        SPC.doNotShowLink = 0 
    }
    stdWrap.ifEmpty.cObject = HMENU
    stdWrap.ifEmpty.cObject {
        1 = TMENU
        1 {      
            expAll = 1
            NO.wrapItemAndSub = <li>|</li>
            IFSUB = 1
            IFSUB.wrapItemAndSub = <li class="hasSub">|</li>
            ACT < .NO
            ACT = 1
            ACT.wrapItemAndSub = <li class="active">|</li>
            ACT.ATagParams = class="active"    
            ACTIFSUB = 1
            ACTIFSUB.wrapItemAndSub = <li class="hasSub active">|</li>
            ACTIFSUB.ATagParams = class="active" 
            SPC = 1
            SPC.wrapItemAndSub = <li class="trenner">|</li>
            SPC.doNotShowLink = 0 
        }
    }
}

[tree.level == 1]
lib._submenu {
    entryLevel = 1
}
[END]

[tree.level == 2]
lib._submenu {
    entryLevel = 2
    stdWrap.ifEmpty.cObject = HMENU
    stdWrap.ifEmpty.cObject {
        entryLevel = 1
    }
}
[END]

[tree.level == 3]
lib._submenu {
    entryLevel = 3
    stdWrap.ifEmpty.cObject = HMENU
    stdWrap.ifEmpty.cObject {
        entryLevel = 2
    }
}
[END]

[tree.level == 4]
lib._submenu {
    entryLevel = 4
    stdWrap.ifEmpty.cObject = HMENU
    stdWrap.ifEmpty.cObject {
        entryLevel = 3
    }
}
[END]

过去一周我一直在寻找解决方案,但似乎没有人做过这样的菜单。它应该显示当前级别的页面,但是当没有时,它应该显示上一级别的项目。

typo3 typoscript
1个回答
0
投票

入门级别与菜单实际开始的级别无关,而是与菜单可见的级别有关。因此,即使使用以前版本的 TYPO3 CMS,代码也不应按预期工作。

https://docs.typo3.org/m/typo3/reference-typoscript/main/en-us/ContentObjects/Hmenu/Index.html#entrylevel

你真正想要的似乎是这样的:

10 = HMENU
10 {
  special = directory
  special.data = leveluid: -1
}
© www.soinside.com 2019 - 2024. All rights reserved.