TYPO3菜单:在第一个孩子中重复父链接

时间:2016-11-18 14:45:37

标签: typo3 typoscript

我想重复导航的父级作为其子级的第一个子级。 示例:

PARENT 1
-- Parent 1
-- Child 1
-- Child 2
---- Subchild 1
---- Subchild 2
-- Child 3
PARENT 2
-- Parent 2
-- Child 1
-- Child 2
-- Child 3

因为这只是一个菜单中的情况,因此不能手动添加页面链接。

我目前的TypoScript如下。

lib.mainmenu = HMENU
lib.mainmenu {
  1 = TMENU
  1.expAll = 1
  1.NO.stdWrap.htmlSpecialChars = 1
  1.NO.wrapItemAndSub = <li class="menuopener">|</li>
  1.ACT < .NO
  1.ACT = 1
  1.ACT.wrapItemAndSub = <li class="menuopener active">|</li>

  2 < .1
  2.wrap = <ul>|</ul>
  2.NO.wrapItemAndSub = <li>|</li>
  2.ACT.wrapItemAndSub = <li class="active">|</li>

  3 < .1
  3.wrap = <ul>|</ul>
  3.NO.wrapItemAndSub = <li>|</li>
  3.ACT.wrapItemAndSub = <li class="active">|</li>
}

谢谢!

1 个答案:

答案 0 :(得分:3)

所以我找到了一个改编自here的解决方案:

lib.mainmenu = HMENU
lib.mainmenu.entryLevel = 0
lib.mainmenu {
    1 = TMENU
    1 {                                                                                                       
        expAll = 1
        NO {
            ATagTitle.field = title
            wrapItemAndSub = <li class="menuopener">|</li>
            stdWrap.htmlSpecialChars = 1
            accessKey = 1
        }
        IFSUB < .NO
        IFSUB = 1
        IFSUB {
            wrapItemAndSub = <li class="menuopener">|</li>
            linkWrap= |
            ATagParams = 
            ATagBeforeWrap = 1
            stdWrap.htmlSpecialChars = 1
        }
        ACTIFSUB < .IFSUB
        ACTIFSUB {
            wrapItemAndSub = <li class="menuopener active">|</li>
        }
        ACT < .NO
        ACT = 1
        ACT {
            wrapItemAndSub = <li class="active">|</li>
        }
        CURIFSUB < .IFSUB
        CURIFSUB = 1
        CURIFSUB {
            wrapItemAndSub = <li class="active">|</li>
        }
    }
    # second level
    2 = TMENU
    2.stdWrap.wrap.stdWrap.cObject = COA
    2.stdWrap.wrap.stdWrap.cObject {
        10 = TEXT
        10.typolink.parameter = {field:pid}
        10.typolink.parameter.insertData = 1
        10.wrap = <ul><li>|</li>
        20 = TEXT
        20.value = |</ul>
    }
    2{
        expAll = 1
        NO{
            ATagTitle.field = title
            wrapItemAndSub = <li>|</li>
        }
        IFSUB = 1
        IFSUB{
            ATagTitle.field = title
            wrapItemAndSub = <li>|</li>
        }
    }

  3 < .1
  3.wrap = <ul>|</ul>
  3.NO.wrapItemAndSub = <li>|</li>
  3.ACT.wrapItemAndSub = <li class="active">|</li>
}