2016-04-23 7 views
0

カテゴリとその中の投稿のドロップダウンメニューがあります。カテゴリがアクティブであるかどうかを確認する必要があります - メニューカテゴリにアクティブなクラスを使用するために開いた投稿。 投稿は新しいカテゴリを持つことができますが、あらかじめ定義されていません。アクティブな投稿カテゴリを特定するにはどうすればよいですか?

前付が標準です:

--- 
layout: post 
title: "Some post title" 
date: 2016-04-06 13:41:07 +0300 
category: Events 
--- 

メニューにオープンポストのためのクラスを示すために、私はオープンで、ドロップダウン・カテゴリのクラスを適用する方法

{% if page.url == post.url %} 
<li class="active"><a href="{{post.url | prepend: site.baseurl}}" class="active">{{post.title}}</a></li> 
{% else %} 
<li><a href="{{post.url | prepend: site.baseurl}}">{{post.title}}</a></li> 
{% endif %} 

一般的な手法を使用します投稿はありますか?ここで

は、出力のためのネストされたポストのタイトルとカテゴリの完全なコードですが、私は現在持っている:

<ul class="nav navbar-nav"> 
Categories 
<li class="dropdown active"> 
{% for category in site.categories %} 
<li><a href="#" class="dropdown-toggle" data-toggle="dropdown" name="{{ category | first }}">{{ category | first }}</a> 
<ul class="dropdown-menu"> 
{% for posts in category %} 
{% for post in posts %} 
{% if page.url == post.url %} 
<li class="active"><a href="{{post.url | prepend: site.baseurl}}" class="active">{{post.title}}</a></li> 
{% else %} 
<li><a href="{{post.url | prepend: site.baseurl}}">{{post.title}}</a></li> 
{% endif %} 
{% endfor %} 
{% endfor %} 
</ul> 
</li> 
{% endfor %} 
</li> 
</ul> 

答えて

0

あなたがこの試すことができます:

{% for category in site.categories %} 

    {% assign categoryName = category | first %} 

    <li> 
     <a href="#" 
     class="dropdown-toggle {% if page.category == categoryName %} active{% endif %}" 
     data-toggle="dropdown" 
     name="{{ categoryName }}">{{ categoryName }}</a> 
    ... 
+0

感謝を!魅力的な作品! – thinkswift

関連する問題