在Shopify中按标签过滤和分组文章?

时间:2016-01-24 17:21:18

标签: filter shopify liquid

我试图在主要博客模板中将Shopify中的博客文章分组。到目前为止,我有这个,但在尝试比较group_tag和article_tag时,它总是返回false。在前端打印出相同的东西,例如。

本文标签:Hello World

FALSE Hello World!= Hello World

{% for tag in blog.all_tags %}
    {% assign group_tag = tag %}

        <h2>{{ group_tag }}</h2>

        {% for article in blog.articles %}
            {% assign article_tag = article.tags %}

            <h3>{{ article.title }}</h3>
            <p>This articles tags: {{ article_tag }}</p>

              {% if 'group_tag' == 'article_tag' %}
                <p>TRUE {{ article_tag }} = {{ group_tag }}</p>
              {% else %}
                <p>FALSE {{ article_tag }} != {{ group_tag }}</p>
              {% endif %}

        {% endfor %}

{% endfor %}

有没有更好的方法来过滤文章或比较tag(group_tag)和article.tags(article_tag)的值?

1 个答案:

答案 0 :(得分:2)

它们看起来相同但比较返回false的原因是article_tag是包含单个标记的字符串,而{% if 'group_tag' == 'article_tag' %}是一个标记数组(目前只包含一个标记,&#34) ; Hello World&#34;)。

您也不希望变量名称周围有引号。例如。 {% if group_tag == article_tag %}应为{% for group_tag in blog.all_tags %} <h2>{{ group_tag }}</h2> {% for article in blog.articles %} {% if article.tags contains group_tag %} <h3>{{ article.title }}</h3> <p>This article's tags: {{ article.tags }}</p> {% endif %} {% endfor %} {% endfor %}

我建议改为使用answer运算符:

fibmem()