Liquid - if contains 语句在 for 循环中不起作用
Posted
技术标签:
【中文标题】Liquid - if contains 语句在 for 循环中不起作用【英文标题】:Liquid - if contains statement not working in for loop 【发布时间】:2018-11-05 01:30:43 【问题描述】:我在一个不起作用的循环中有一个非常基本的条件:
% 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' %
,它可以正常工作,但我需要它是动态的。有什么建议吗?
【问题讨论】:
您是否尝试将句柄设置为变量并比较变量而不是句柄?这是一个建议;我不确定这是否可行。 太棒了!效果很好,要正式回答这个问题吗? 当然让我回答一下 【参考方案1】:将句柄设置为变量,并使用变量而不是句柄进行比较。
【讨论】:
【参考方案2】:首先,您必须将标签句柄的值分配给 shopify 液体变量,然后您将能够在条件下使用变量,然后一切都会正常工作且动态。谢谢!!
【讨论】:
以上是关于Liquid - if contains 语句在 for 循环中不起作用的主要内容,如果未能解决你的问题,请参考以下文章
用于 Shopify 主题开发的 LESS CSS 和转义 Liquid 语法