TYPO3菜单 - 子菜单列表上的重复父链接

时间:2015-12-04 13:24:32

标签: twitter-bootstrap-3 typo3 typoscript

是否可以将父链接插入子菜单列表。它应该是这样的:

Parent link
|--Parent link
|--Subpage link1
|--Subpage link

我需要这个用于bootstrap菜单,其中每个父链接只能被点击(以扩展子菜单)

我的菜单如下:

lib.header-menu = HMENU
lib.header-menu.entryLevel = 0
lib.header-menu {
    1 = TMENU
    1 {                                                                                                                                                                                                                                                                                                                                                               
        wrap = <nav class="navbar navbar-default" role="navigation"><ul class="nav navbar-nav">|</ul></nav>  
        expAll = 1
        NO {
            ATagTitle.field = title
            wrapItemAndSub = <li>|</li>
            stdWrap.htmlSpecialChars = 1
            accessKey = 1
        }
        IFSUB < .NO
        IFSUB = 1
        IFSUB {
            wrapItemAndSub = <li class="dropdown">|</li>
            linkWrap= |<span class="caret"></span>
            ATagParams = class="dropdown-toggle" role="button" data-toggle="dropdown"
            ATagBeforeWrap = 1
            stdWrap.htmlSpecialChars = 1
        }
        ACTIFSUB < .IFSUB
        ACTIFSUB {
            wrapItemAndSub = <li class="active dropdown">|</li>
        }
        ACT < .NO
        ACT = 1
        ACT {
            wrapItemAndSub = <li class="active">|</li>
        }
        CURIFSUB < .IFSUB
        CURIFSUB = 1
        CURIFSUB {
            wrapItemAndSub = <li class="active dropdown">|</li>
        }
    }
    # second level
    2 = TMENU
    2.wrap = <ul class="dropdown-menu">|</ul>
    2{
        expAll = 1
        NO{
            ATagTitle.field = title
            wrapItemAndSub = <li>|</li>
        }
        IFSUB = 1
        IFSUB{
            ATagTitle.field = title
            wrapItemAndSub = <li>|</li>
        }
    }
}

1 个答案:

答案 0 :(得分:0)

一种解决方案是包含一个附加子页面,其中包含父页面的快捷方式。这需要手工劳动,但可以忘记。

你也可以使用typoscript来完成它。我已经更改了第二个项目的包装器,因此它被构建为具有多个部分的COA,并创建了一个typolink to field:pid(它的父项)。通过将文本值留空,typolink将创建一个链接到链接页面标题的链接。解决了在旅途中检索父页面标题的问题。

lib.header-menu-nieuw = HMENU
lib.header-menu-nieuw.entryLevel = 0
lib.header-menu-nieuw {
    1 = TMENU
    1 {                                                                                                                                                                  
        wrap = <nav class="navbar navbar-default" role="navigation"><ul class="nav navbar-nav">|</ul></nav>  
        expAll = 1
        NO {
            ATagTitle.field = title
            wrapItemAndSub = <li>|</li>
            stdWrap.htmlSpecialChars = 1
            accessKey = 1
        }
        IFSUB < .NO
        IFSUB = 1
        IFSUB {
            wrapItemAndSub = <li class="dropdown">|</li>
            linkWrap= |<span class="caret"></span>
            ATagParams = class="dropdown-toggle" role="button" data-toggle="dropdown"
            ATagBeforeWrap = 1
            stdWrap.htmlSpecialChars = 1
        }
        ACTIFSUB < .IFSUB
        ACTIFSUB {
            wrapItemAndSub = <li class="active dropdown">|</li>
        }
        ACT < .NO
        ACT = 1
        ACT {
            wrapItemAndSub = <li class="active">|</li>
        }
        CURIFSUB < .IFSUB
        CURIFSUB = 1
        CURIFSUB {
            wrapItemAndSub = <li class="active dropdown">|</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 class="dropdown-menu"><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>
        }
    }
}

这会创建一个块,其中每个父页面也自动成为第一个子页面项目。