Variables Shopify主题开发-用于检查article.tags是否包含sections变量的循环

Variables Shopify主题开发-用于检查article.tags是否包含sections变量的循环,variables,if-statement,themes,shopify,Variables,If Statement,Themes,Shopify,如果article.tags==节设置中给定的字符串,我将尝试浏览相关的博客文章 我尝试了一些不同的变化,但没有效果。我的代码如下所示(不要担心if循环中的内容,这都是CSS固定的): 我尝试过使用其他一些变体,比如不使用“| strip_html”。我试着把它放在这样的引号里{%if article.tags==“'”和section.settings.brand-news-tag以及“'”%}。我还尝试使用与“==”相对的“contains” 如何在if语句中使用变量 我试过使用- {%

如果article.tags==节设置中给定的字符串,我将尝试浏览相关的博客文章

我尝试了一些不同的变化,但没有效果。我的代码如下所示(不要担心if循环中的内容,这都是CSS固定的):

我尝试过使用其他一些变体,比如不使用“| strip_html”。我试着把它放在这样的引号里{%if article.tags==“'”和section.settings.brand-news-tag以及“'”%}。我还尝试使用与“==”相对的“contains”

如何在if语句中使用变量


我试过使用-

{% if article.tags contains section.settings.brand-news-tag %}
我也尝试过在没有任何if声明的情况下缩小blogs.news的范围。这正如预期的那样有效。这意味着它与这个if语句有关,而不是与blog标记进行比较。虽然我已经直接从博客文章中复制了blog标记,以进入节中的变量

这也不起作用-

{% for article in blogs.news.articles limit:1 %}
    {% if section.settings.brand-news-tag != '' %}
        {% assign blogfilter = section.settings.brand-news-tag | strip %}
    {% endif %}
    {% if article.tags contains blogfilter %}
这也不起作用(Goodfello是复制的标签)-

以下是一些博客方面的图片:


如果查看文章中的对象,则文章.tags返回一个数组。因此,不能使用=等于运算符将数组与字符串进行比较。您要查找的内容如中所述

因此,您的代码将成为

{% if article.tags contains section.settings.brand-news-tag %}
此外,由于字段类型为文本,因此不需要strip_html。所以Shopify会处理好的。您可以使用strip过滤器删除字符串开头和结尾的任何空格和制表符,以确保更加安全

对于您的特定场景,您不需要limit:1inside For循环,因为您不知道第一个对象将包含标记。所以,如果条件满足,您需要迭代所有对象并中断循环。示例代码

{% for article in blogs.news.articles %}
    {% if article.tags contains 'Goodfellow' %}
        {{article.tags}}
        {% break %}
    {% endif %}
{% endfor %}

谢谢你的评论,这并不能解决问题,我已经在我的问题中写了完整的回答。@JasonIsMyName我已经更新了答案,上面的代码在我的演示商店中进行了测试。这就解释了!!!先生,你是个巫师!不过我确实需要限制,所以可能只会使用一个在一次迭代后跳出的经典计数器。谢谢,我会在周一测试它,并投票给你的答案,再次感谢!你不需要柜台。。因为在上面的代码中,只要满足if条件,{%break%}就会中断循环。所以最多只能输出一次。啊,太美了,我没有承认中断!非常整洁!
{% for article in blogs.news.articles limit:1 %}
    {% if article.tags contains 'Goodfellow' %}
{% if article.tags contains section.settings.brand-news-tag %}
{% for article in blogs.news.articles %}
    {% if article.tags contains 'Goodfellow' %}
        {{article.tags}}
        {% break %}
    {% endif %}
{% endfor %}