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