2016-09-20 3 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' 태그가 실패하거나 루프에서 빠져 나옵니까? – 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

관련 문제