2017-03-17 13 views
1

多くの投稿のコレクションからリストに表示される投稿の数を制限する必要があります。私は現在、それぞれの投稿を特定の名前のカテゴリでチェックしています。最初の4つの投稿が見つかった後でループを解除します。ジキルで表示する投稿の制限を設定する

{% assign count = 0 %} 
{% for post in site.faqs %} 
    {% if post.faq_category contains "category-name" %} 
    {% assign count = count | plus:1} 
    {% if count == 4 %} 
    {% break %} 
     <li>{{ post.title }}</li> 
    {% endif %} 
{% endfor %} 

ただし、これは結果を返すものではありません。私はちょうど間違った場所にカウントを持っているかどうか分からない。

答えて

1

私はli要素を下回る数を設定しなければならなかったことを考え出し:

{% assign count = 0 %} 
     {% for post in site.faqs %} 
     {% if post.faq_category contains "category-name" %} 
      {% assign count = count | plus:1 %} 
      <li>{{ post.title }}</li> 
      {% if count == 4 %}{% break %} 
      {% endif %} 
      {% endif %} 
     {% endfor %} 
0

カウンタを使用して、あなたが記事をフィルタリングし、ちょうどカウンターが4未満である場合に表示することができ、あなたが行ったようにそれ以外の場合はbreakを使用:

{% assign count = 0 %} 
{% for post in site.faqs %} 
    {% if post.faq_category contains "category-name" %} 
    {% assign count = count | plus:1} 
    {% if count < 4 %} 
    <li>{{ post.title }}</li> 
    {% endif %} 
{% endfor %} 

クリーナーバージョンは、所望のカテゴリのfaqsアイテムの配列を作成し、次に4にforループ限定行うことができる。

{% assign faqs = site.faqs | where_exp:"item", 
"item.faq_category contains 'category-name'" %} 
<ul> 
{% for post in faqs limit:4 %} 
<li>{{post.title}}</li> 
{% endfor %} 
</ul> 
関連する問題