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

Filter and group articles by tags in Shopify?

我正在尝试通过主博客模板中的标签对 Shopify 中的博客文章进行分组。到目前为止我有这个,但是当试图比较 group_tag 和 article_tag 时它总是 returns 错误。在前端打印出同样的东西,例如。

本文标签: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 %}

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

它们看起来相同但比较 returns 错误的原因是 group_tag 是一个包含单个标签的字符串,而 article_tag 是一个标签数组(目前仅包含一个标签,"Hello World").

您也不希望在变量名称两边加上引号。例如。 {% if 'group_tag' == 'article_tag' %} 应该是 {% if group_tag == article_tag %}.

我建议改用 contains 运算符:

{% 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 %}