Liquid是否在数组运算符中包含或不包含?

时间:2015-06-13 18:30:04

标签: jekyll liquid

在Liquid模板中调用项目和数组时,您如何致电does not containnot in array

3 个答案:

答案 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 %}