2017-11-27 16 views
0

メインメニュー項目をクリックできないようにしたいのですが、その子はドロップダウンメニューとクリック可能です。 Wagtailのクリック不可能なメニュー項目

か、またはそれを行うにはよりエレガントな方法かもしれ自体

  • アクセスできないいくつかのページへ

    • 親:

      私はアプローチがあるモデルの特殊なタイプのようなものであってもよいと想像します私は疑いはない?

  • +0

    こんにちは - これはセキレイadminにありますか?あなたの正面に立つフロントエンドですか?それがフロントエンドなら、あなたのCSSフレームワークは何ですか? –

    +0

    これは一般向けのフロントエンドです。私は今は分からない、これは私の一部ではない。 – miric

    +0

    OK、メニューをレンダリングするために使用されたテンプレートコードのように、建設的な答えを与えるために少し詳しい情報が必要な場合があります。 –

    答えて

    0

    上記のとおり、hereのサンプルコードを使用していますが、これはブートストラップに関する疑問ですが、これは潜在的な解決策です。

    <nav>要素の最後には、メインメニュー項目を含むコンテナがあります。

    <div class="container"> 
        <div class="collapse navbar-collapse" id="navbar-collapse-3"> 
        <ul class="nav navbar-nav navbar-left"> 
         {% for menuitem in menuitems %} 
         <li class="{% if menuitem.active %}active{% endif %}"> 
          {% if menuitem.show_dropdown %} 
          <a href="{{ menuitem.url }}">{{ menuitem.title }} 
           <span class="hidden-lg hidden-md hidden-sm visible-xs-inline"> 
           <span class="glyphicon glyphicon-chevron-right"></span> 
           </span> 
          </a> 
          {% top_menu_children parent=menuitem %} 
          {% else %} 
          <a href="{% pageurl menuitem %}">{{ menuitem.title }}</a> 
          {% endif %} 
         </li> 
         {% endfor %} 
        </ul> 
        </div> 
    </div> 
    

    メニュー項目をクリックできないようにするには、メニュー項目のhref属性を調整します。 {{ menuitem.url }}の代わりに#としてください。これにより、メニューのドロップダウンは確実に機能しますが、「親」ページに人を連れて行くURLはありません。

     <a href="#">{{ menuitem.title }} 
          <span class="hidden-lg hidden-md hidden-sm visible-xs-inline"> 
          <span class="glyphicon glyphicon-chevron-right"></span> 
          </span> 
         </a> 
    

    も参照してください:Boostrap 3 Navbar Docs

    +0

    ありがとう私は冗長コンテナとブートストラップスタイルをすべて取り除いてフレームワーク中立コードを持つようにしました。私は別のアプローチを開発しようとしています。私はNoopPageモデルを作成しました。これは404自体を生成しますが、サブページを含む可能性があります。私はBooleanField 'noop'を追加してこの属性をテンプレートに読み込んで、NoopPageの後ろにあるリンクのhrefをレンダリングしないようにしました。私は、子サブページを持つ親ページがあり、それはクリック可能/アクセス可能でなければならないと思われる。何らかの理由でtop_menu_childrenテンプレートで 'noop'属性が見えなくなっています。 – miric

    +0

    self.specificまたはpage.specificで特定のページを取得しようとしましたか? noop属性は、特定のインスタンスでのみ使用可能になります。 –

    +0

    私は 'noop'属性を削除し、seo_titleフィールドにリレーしました。デフォルトでは、この(Noop)ページの 'noop'文字列で埋められています。それは瞬間に動作します。さらなるフロントエンドでうまくいくかどうかはわかります。 get_children()は、ページモデル自体を返します。ページモデル自体は継承したページではありません。だからこそ私の.noopは利用できませんでした。 – miric

    関連する問題