我有以下菜单导航:
home
product
product 1
product 2
news
press releases
about us
上面的每个菜单项都链接到一个内容,但“产品”除外。我需要在用户点击“产品”时不这样做。
我尝试使用“自定义链接”,并在网址中输入“#”或“javascript:void(0)”,但这不起作用,因为Orchard总是在网址前加“/".
另外,我尝试使用“Html菜单项”并在html正文中输入“product”,但始终呈现为
<li><span class="raw"><p>product</p></span><ul>...</ul></li>
我想要跟随:
<li><a href="#">product</a><ul>....</ul></li>
或
<li>product<ul>....</ul></li>
有一种简单的方法吗?
答案 0 :(得分:4)
在Menu.cshtml
项目的Core->Shapes->Views
目录下的Orchard.Web
文件中,您可以这样做:
$(document).ready(function () {
$("#Nav a").click(function(e) {
e.preventDefault();
});
});
以上禁用点击所有菜单链接,因此如果您想阻止点击第二级菜单项:
$('#Nav li ul li a').click(function(e){
e.preventDefault();
});
Menu.cshtml
文件是导航菜单的视图,因此您可以根据需要定义其行为。您也可以查看我的this answer。
答案 1 :(得分:3)
你可以按照穆罕默德的说法去做,但是在你的主题中创建一个备用的Menu.cshtml。修改Orchards核心代码是不好的做法。