2016-09-20 11 views
1

私はブログでも "ブログで"反復を作成しようとしています。最新の投稿を表示できてうれしく思っていますが、ユーザーが現在の投稿をこの繰り返しから除外する方法についてはわかりません。ここでShopifyの関連記事を表示

は私のコード(簡体字)である:

{% for article in blog.articles limit:3 %} 

    <div> 
    {{ article | img_url: '1024x1024' | img_tag: article.title }} 
    {{ article.excerpt }} 
    {{ article.content | strip_html | truncatewords: 20 }} 
    </div> 

{% endfor %} 

答えて

1

現在のページのタイトルを使用することにより?現在のブログ投稿のタイトルが含まれているかどうかを確認します。

{% for article in blog.articles limit:3 %} 
    {% unless page_title contains article.title %} 
    <div> 
     ... 
    </div> 
    {% endunless %} 
{% endfor %} 
+0

を、これが最初の記事の後にループを停止します。 – jermainecraig

+0

これは奇妙なことですが、 'unless'タグがfalseの場合は失敗し、ループから抜け出すのでしょうか? – jrbedard

+0

申し訳ありませんが、「含む」よりむしろ==が動作しています!奇妙なことに、 "limit:3"は最初の反復後にコードを分割しますが、それは問題ありませんが、残っているすべての投稿を表示します。どんな考え? – jermainecraig

2

を使用すると、記事のページにしている場合は、何かしたいと思います:現在の記事は、ループ内の第二の場合には

{% assign currentHandle = article.handle %} 
    {% assign articlesFound = 0 %} 
    {% for addin in blogs[blog.handle].articles %} 
     {% unless addin.handle == currentHandle %} 
     <div><a href="{{ addin.url }}">{{ addin.title }}</a></div> 
     {% assign articlesFound = articlesFound |plus: 1 %} 
     {% if articlesFound == 3 %}{% break %}{% endif %} 
     {% endunless %} 
    {% endfor %} 
+0

なぜかこれは動作しません。 – jermainecraig

+0

サンプルを固定しました。私はテストするのではなく、ここに直接入力しました。 – bknights

関連する問題