Liquid - 如果包含语句在 for 循环中不起作用
Liquid - if contains statement not working in for loop
我在一个不起作用的循环中有一个非常基本的条件:
{% 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
是 "dodge" 如果我打印我的 {{ canonical_url }}
我会得到 https://localhost:3000/collections/all/dodge
所以我的条件应该评估为 truthy 并打印单词 'active'.
如果我将我的语句修改为 {% if canonical_url contains 'dodge' %}
它工作正常但我需要它是动态的。有什么建议吗?
将句柄设置为变量并使用变量而不是句柄进行比较。
首先,您必须将标签句柄的值分配给 shopify liquid 变量,然后您才能在条件中使用变量,然后每件事都会正常且动态地工作。谢谢!!
我在一个不起作用的循环中有一个非常基本的条件:
{% 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
是 "dodge" 如果我打印我的 {{ canonical_url }}
我会得到 https://localhost:3000/collections/all/dodge
所以我的条件应该评估为 truthy 并打印单词 'active'.
如果我将我的语句修改为 {% if canonical_url contains 'dodge' %}
它工作正常但我需要它是动态的。有什么建议吗?
将句柄设置为变量并使用变量而不是句柄进行比较。
首先,您必须将标签句柄的值分配给 shopify liquid 变量,然后您才能在条件中使用变量,然后每件事都会正常且动态地工作。谢谢!!