0

我目前正在使用 Typo3 Typoscript 开发我的导航栏。我的项目页面结构如下:

root
 1
 1
 1
  2
   3
   3
 1
 1
  2
   3
   3

我现在想要的是排除 2(踢他们),但在选择以 3 作为孩子的 1 时继续显示所有 3。

像这样:

   root
     1
     1
     1
      3
      3
     1
     1
      3
      3

我在 TypoScript 中显示完整页面结构的代码

NAVIOFF = HMENU
    NAVIOFF.entryLevel = 0
    NAVIOFF {
    1 = TMENU
    1 {
    expAll = 1
    wrap = <ul class="sf-menu">|</ul>
    noBlur = 1
    NO = 1
    NO.ATagTitle.field = title
    NO.wrapItemAndSub = <li>|</li>
    IFSUB = 1
    IFSUB < .NO
    IFSUB.ATagParams = class="pfeile"  

     ACT = 1
     ACT < .NO
     ACT.ATagParams = class="menuakt"
     CUR = 1
     CUR < .ACT

    }
    2 < .1  
    2.wrap = <ul>|</ul>
    2.NO.wrapItemAndSub =  <li class="first"> |</li> |*| <li> |</li> |*| <li class="last"> | </li>   
    2.ACT = 0

    3 < .2
    4 < .2
    }

有没有可能实现我想要的?到目前为止,我偶然发现了 excludeUIDlist,但后来我显然将完整的 2 和 3 都“附加”到了它们。

提前致谢。

4

2 回答 2

1

只需跳过菜单中的第二级:

对第二级什么都不做:

//remove:
# 2 < .1
// no rendering:
2.NO.doNotShowLink = 1

当然不能复制.2。对于进一步的级别,您从.3调整它开始,然后复制级别 3:

3 < .1  
3.wrap = <ul>|</ul>
3.NO.wrapItemAndSub =  <li class="first"> |</li> |*| <li> |</li> |*| <li class="last"> | </li>   
3.ACT = 0

4 < .3
于 2018-09-27T10:30:12.443 回答
1

您可以覆盖 2. 级别的呈现,例如“每个第二级别应该只输出空字符串并且没有链接”,例如使用

    2.NO.stdWrap.override =  |*| |*|
    2.NO.doNotLinkIt = 1

比,而不是[element 2[element3a],[element3b]]得到你应该得到的输出[nothing[element3a],[element3b]],这似乎是你想要的。

于 2018-09-27T09:45:04.177 回答