首页 > 解决方案 > Liquid - if contains 语句在 for 循环中不起作用

问题描述

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

{% 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' %}它可以正常工作,但我需要它是动态的。有什么建议么?

标签: for-loopif-statementshopifyliquidshopify-template

解决方案


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


推荐阅读