在Liquid模板中调用项目和数组时,您如何致电does not contain
或not in array
?
答案 0 :(得分:49)
unless
救援!
创建[A,B,C]数组。
{% assign input = "A,B,C" | split:"," %}
unless
仅在不符合约束时打印。
这不打印任何内容:
{% unless input contains 'A' %}No A{% endunless %}
这会打印" 否Z ":
{% unless input contains 'Z' %}No Z{% endunless %}
答案 1 :(得分:4)
您可以执行以下操作:
{% if collection.tags contains 'tag' %}
{% else %}
do stuff!
{% endif %}
答案 2 :(得分:-1)
对于Shopify用户的注释,从未直接使用Jekyll或液体,因此不确定此问题是否在Shopify之外
假设您创建了一个数组
{% assign input = "A,B,C" | split:"," %}
并说您要检查Shopify API中是否有某些内容在该数组中,这将不起作用
{% if input contains {{ gift_card.product.title }} %}
{% else %}
do stuff!
{% endif %}
条形过滤器也不起作用,您必须删除contains
之后的单词和方括号之间的空格,使它看起来像这样
{% if input contains {{gift_card.product.title}} %}
{% else %}
do stuff!
{% endif %}
{{gift_card.product.title}}
,我花了3个小时才找到此错误,我不知道为什么会发生,没有实际的HTML空间或类似内容。我已将其报告给Shopify,也许他们在您阅读本文时已将其修复。
编辑:
根据Reddit users,您必须卸下内括号,使其看起来像这样
{% if input contains gift_card.product.title %}