繁体   English   中英

TYPO3 hmenu禁用一个链接

[英]TYPO3 hmenu disable one link

我有2级菜单。 所有链接都是可单击的,但我要禁用1个链接。 该链接用于打开子菜单

         <li class="sub-link"><a href="#">link1</a>
            <ul id="sub-menu">
              <li><a href="#">sublink</a></li>
              <li><a href="#">sublink2</a></li>
            </ul> <!-- sub-menu -->
          </li>
          <li><a href="#">link2</a></li>
          <li><a href="#">link3</a></li>
          <li><a href="#">link4</a></li>
          <li><a href="#">link5</a></li>

我想禁用链接1。我有这样的错字:

lib.menu.main  = HMENU
lib.menu.main {
    special = list
    special.value =  22,154,88
    alwaysActivePIDlist = 22
    1 = TMENU
    1.NO = 1          
    1.wrap = <ul>|</ul>
    1.NO.wrapItemAndSub = <li>|</li>
    1.IFSUB=1
    1.IFSUB.wrapItemAndSub = <li class="sub-link">|</li>
    2 < .1
    2.wrap = <ul id="sub-menu">|</ul>
    2.NO.wrapItemAndSub = <li>|</li>
}

我该如何解决这个问题?

因此,我为您提供了两种解决此问题的可能性:

第一个是阅读Typo3-Documentation,并查找“ optionSplit”和“ doNotLinkIt” -options。 他们应该帮助您解决打字错误中的问题。

另一种是使用Javascript / JQuery解决它。 您可以选择菜单的FIRST项目(在上面的示例中),然后将链接替换为所需的内容。

$(document).ready(function(){
    $('.menu a').first().attr('href', '#');
});

我通过整个示例对您进行了修饰: https : //jsfiddle.net/bdrsssv7/


确保不要在HTML模板中插入Javascript,因为那时Javascript在具有其他html-templates的页面上将不可用。 只需执行一个js文件,然后通过输入错误将其插入即可,如下所示:

page.includeJS.file1 = fileadmin/yourTemplateLocation/yourFile.js

我希望我提到的两个解决方案之一可以为您提供帮助

从Typoscript的菜单中排除特定的PID(18):

lib.menu = HMENU
lib.menu {
    special = rootline
    special.range = 2,0
    1 = TMENU
    1 {
        NO {
            allWrap = <li> | </li>
            doNotLinkIt.override = 1
            doNotLinkIt.override.if {
                value = 18
                equals.field = uid
            }
        }
    }
}    

或从菜单中排除多个特定的PID(18,19,20)

lib.menu.1.NO.doNotLinkIt.override.if {
    value = 18,19,20
    isInList.field = uid
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM