2016-09-20 110 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

奇怪的是,'如果'標記失敗,如果爲false,或者從循環中突然出現? – jrbedard

+0

好吧,所以==而不是「包含」已得到行爲工作!奇怪的是,「極限: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