4

次のメニュー ナビゲーションがあります。

home
product
     product 1
     product 2
news
     press releases
about us

上記のすべてのメニュー項目は、「製品」を除いてコンテンツにリンクしています。ユーザーが「製品」をクリックしてもどこにも行かないようにする必要があります。

「カスタム リンク」を使用しようとして、URL に「#」または「javascript:void(0)」を入力しましたが、Orchard は常に URL の先頭に「/」を付けているため、機能しません。

また、「Html Menu Item」を使用して、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>

これを行う簡単な方法はありますか?

4

2 に答える 2

4

プロジェクトのディレクトリの下のMenu.cshtmlファイルで、これを行うことができます:Core->Shapes->ViewsOrchard.Web

$(document).ready(function () {
    $("#Nav a").click(function(e) {
        e.preventDefault();
    });
});

上記はすべてのメニュー リンクのクリックを無効にするため、第 2 レベルのメニュー項目をクリックできないようにする場合は、次のようにします。

$('#Nav li ul li a').click(function(e){
     e.preventDefault();
});

このMenu.cshtmlファイルはナビゲーション メニューのビューなので、その動作を自由に定義できます。この私の答えも見ることができます。

于 2013-04-18T10:01:21.910 に答える
4

Mohammad の言うとおりにすることもできますが、別の Menu.cshtml をテーマに作成してください。Orchards のコア コードを変更することはお勧めできません。

于 2013-04-18T13:01:22.543 に答える