我不是TypoScript的新手,我正在TYPO3中制作一个下拉菜单,该菜单工作得很好。
当用户单击菜单项(带有表示该菜单项具有下拉菜单的汉堡图标)时,将打开一个下拉菜单。我想使菜单项本身不可单击,它只能打开一个下拉菜单。以下是我的代码,我将不胜感激任何想法或帮助。现在,如果我单击菜单项“打开一个新页面(应该只打开一个下拉菜单)”。
lib.mobileNav = HMENU
lib.mobileNav {
entryLevel = 0
1 = TMENU
wrap = <nav id="mobile-menu" class="main-nav"><ul> | </ul></nav>
doNotLinkIt = 1
1 {
expAll = 1
wrap = <ul class="1">|</ul>
NO = 1
NO {
wrapItemAndSub = <li class="level-1">|</li>
ATagTitle.field = title
}
IFSUB < .NO
IFSUB = 1
IFSUB {
wrapItemAndSub = <li class="level-1 dropdown">|</li>
}
ACT < .NO
ACT = 1
ACT {
wrapItemAndSub = <li class="level-1 active">|</li>
ATagParams = class="level-1 active"
}
ACTIFSUB < .NO
ACTIFSUB = 1
ACTIFSUB {
wrapItemAndSub = <li class="dropdown active level-1">|</li>
}
}
2 = TMENU
2 {
wrap = <ul class=" level-2" role="menu">|</ul>
NO = 1
NO {
wrapItemAndSub = <li class="level-2">|</li>
ATagParams = class="level-2"
stdWrap.htmlSpecialChars = 1
}
ACT = .NO
ACT {
wrapItemAndSub = <li class="active level-2">|</li>
ATagParams = class="active level-2"
}
}
}
答案 0 :(得分:1)
参数doNotLinkIt
的级别错误,它用于TMENU项,而不是整个HMENU或整个TMENU。您可以看到参考文献here in TSREF
下面是应该工作的菜单,我对其进行了一些排序,以使其更易于阅读。
lib.mobileNav = HMENU
lib.mobileNav {
entryLevel = 0
wrap = <nav id="mobile-menu" class="main-nav"><ul> | </ul></nav>
1 = TMENU
1 {
expAll = 1
wrap = <ul class="1">|</ul>
NO = 1
NO {
wrapItemAndSub = <li class="level-1">|</li>
ATagTitle.field = title
doNotLinkIt = 1
}
IFSUB < .NO
IFSUB = 1
IFSUB {
wrapItemAndSub = <li class="level-1 dropdown">|</li>
}
ACT < .NO
ACT = 1
ACT {
wrapItemAndSub = <li class="level-1 active">|</li>
ATagParams = class="level-1 active"
}
ACTIFSUB < .NO
ACTIFSUB = 1
ACTIFSUB {
wrapItemAndSub = <li class="dropdown active level-1">|</li>
}
}
2 = TMENU
2 {
wrap = <ul class=" level-2" role="menu">|</ul>
NO = 1
NO {
doNotLinkIt = 1
wrapItemAndSub = <li class="level-2">|</li>
ATagParams = class="level-2"
stdWrap.htmlSpecialChars = 1
}
ACT < .NO
ACT {
wrapItemAndSub = <li class="active level-2">|</li>
ATagParams = class="active level-2"
}
}
}
答案 1 :(得分:0)
实际上,没有子项目的项目应保持可单击状态或应将其删除,因为否则您将拥有根本无法单击的菜单项。
因此,带有可点击项和带有子项下拉菜单的不可点击项的菜单代码如下:
lib.mobileNav = HMENU
lib.mobileNav {
entryLevel = 0
wrap = <nav id="mobile-menu" class="main-nav"><ul> | </ul></nav>
1 = TMENU
1 {
expAll = 1
wrap = <ul class="1">|</ul>
NO = 1
NO {
wrapItemAndSub = <li class="level-1">|</li>
ATagTitle.field = title
}
IFSUB < .NO
IFSUB {
wrapItemAndSub = <li class="level-1 dropdown">|</li>
doNotLinkIt = 1
}
ACT < .NO
ACT {
wrapItemAndSub = <li class="level-1 active">|</li>
ATagParams = class="level-1 active"
}
ACTIFSUB < .NO
ACTIFSUB {
wrapItemAndSub = <li class="dropdown active level-1">|</li>
doNotLinkIt = 1
}
}
2 = TMENU
2 {
wrap = <ul class=" level-2" role="menu">|</ul>
NO = 1
NO {
wrapItemAndSub = <li class="level-2">|</li>
ATagParams = class="level-2"
stdWrap.htmlSpecialChars = 1
}
ACT < .NO
ACT {
wrapItemAndSub = <li class="active level-2">|</li>
ATagParams = class="active level-2"
}
}
}