TYPO3 hmenu 禁用一个 link
TYPO3 hmenu disable one link
我有 2 级菜单。所有 link 都是可点击的,但我想禁用 1 link。此 link 用于打开子菜单
<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>
我想禁用link 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 文档并查找 "optionSplit" 和 "doNotLinkIt" 选项。他们应该可以帮助您解决打字错误中的问题。
另一种是用Javascript/JQuery来解决。您可以 select (在上面的示例中)菜单的第一项,然后将 link 替换为您想要的任何内容。
$(document).ready(function(){
$('.menu a').first().attr('href', '#');
});
我用整个例子给你做了一个 fiddle:
https://jsfiddle.net/bdrsssv7/
请确保您没有在 HTML 模板中插入 Javascript,因为那样的话它就不会在包含其他 html 模板的页面上可用。
只需做一个 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
}
我有 2 级菜单。所有 link 都是可点击的,但我想禁用 1 link。此 link 用于打开子菜单
<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>
我想禁用link 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 文档并查找 "optionSplit" 和 "doNotLinkIt" 选项。他们应该可以帮助您解决打字错误中的问题。
另一种是用Javascript/JQuery来解决。您可以 select (在上面的示例中)菜单的第一项,然后将 link 替换为您想要的任何内容。
$(document).ready(function(){
$('.menu a').first().attr('href', '#');
});
我用整个例子给你做了一个 fiddle: https://jsfiddle.net/bdrsssv7/
请确保您没有在 HTML 模板中插入 Javascript,因为那样的话它就不会在包含其他 html 模板的页面上可用。 只需做一个 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
}