2017-05-23 88 views
0

我想獲得具有如何檢查列表中是否存在值?

我嘗試下面的代碼,它迭代當前帖子頁的所有標記(標記當前t)其前面的問題(*)的特定標籤帖子列表,然後在所有的職位(p)迭代,以檢查他們是否有這個標籤(和公正的輸出標題,用於調試的原因):

{% for t in page.tags %} 
    {% for p in site.posts %} 
     {% if t in p.tags %} 
      {{ p.title }} 
     {% endif %} 
    {% endfor %} 
{% endfor %} 

{% if t in p.tags %}似乎失敗(我來形成一個Python背景,使我試了一下),我找不到液體中的in操作員。它退出了嗎?

(*)我提到了我想達到的目的,以防萬一有更直接的方法來實現這一點,但我仍然對一般問題感興趣。

回答

1

按照您例如,它可以與contains標籤來完成:

包含還可以檢查字符串的 字符串數組存在。

{% if product.tags contains "outdoor" %} 
This product is great for 
using outdoors! 
{% endif %} 

因此,要獲得在他們的前面的問題的特定標籤(在這種情況下,與標籤mytag的職位)職位列表:

{% assign posts_with_mytag = site.posts | where_exp:"item", 
"item.tags contains 'mytag'" %} 

{% for post in posts_with_mytag %} 
<a href="{{post.url}}">{{post.title}}</a> 
{% endfor %} 
0

上@ maracuny的回答跟進,從我的問題完整性更正的代碼:

{% for t in page.tags %} 
    {% for p in site.posts %} 
     {% if p.tags contains t %} 
      {{ p.title }} 
     {% endif %} 
    {% endfor %} 
{% endfor %}