Liquid - 如果包含语句不在for循环中工作

时间:2018-05-25 15:41:40

标签: for-loop if-statement shopify liquid shopify-template

我在一个不起作用的循环中有一个非常基本的条件:

{% for tag in collections.all.tags %} 
     <li class="mb-1 ">
        <a class="text-white" title="{{ tag }}" href="#">
            {{ tag | handle }}
            {% if canonical_url contains tag | handle %}
                active
            {% endif %}
        </a>
     </li>
{% endfor %}

现在,我的tag | handle是“闪避”,如果我打印{{ canonical_url }},我会https://localhost:3000/collections/all/dodge,所以我的条件应该评估为真实并打印“活跃”这个词。

如果我将我的陈述修改为{% if canonical_url contains 'dodge' %},它的工作正常,但我需要它是动态的。有什么建议吗?

2 个答案:

答案 0 :(得分:2)

将句柄设置为变量并使用变量进行比较而不是句柄。

答案 1 :(得分:1)

首先你必须指定标签句柄的值来购买液体变量&amp;然后你就可以在条件下使用变量了然后每件事都能正常工作。动态。谢谢!!