Shopify / Liquid Operators - 仅包含
Shopify / Liquid Operators - Contains Only
如果字符串仅包含指定的字符串(即 完全 匹配),我正在寻找流动运算符。
例如,假设我有两个产品标签,'Black' 和 'Black and White',我只想触发 'Black' 的事件,我该如何处理?下面的液体会同时触发这两种情况,因此会输出两次消息。
{% if tag contains 'Black' %} Hi {% endif %}
我试过,例如
{% if tag = 'Black' %} Hi {% endif %}
但是这样会报错,好像是不允许的。是否有一个用于字符串精确匹配的运算符?
使用 ==
而不是 =
作为运算符是可行的。
当您对数组使用 contains
运算符时,它会执行完全匹配。
例如,如果您的产品只有 Black and White
标签,则 product.tags contains "Black"
不会 return true
,因为 product.tags
是一个数组。如果产品有 Black
标签,它只会 return true
。
看起来您在循环中分别针对每个标签使用了它,其中 tag
是一个字符串。在这种情况下 contains
returns true
当字符串的一部分匹配条件时。
如果字符串仅包含指定的字符串(即 完全 匹配),我正在寻找流动运算符。
例如,假设我有两个产品标签,'Black' 和 'Black and White',我只想触发 'Black' 的事件,我该如何处理?下面的液体会同时触发这两种情况,因此会输出两次消息。
{% if tag contains 'Black' %} Hi {% endif %}
我试过,例如
{% if tag = 'Black' %} Hi {% endif %}
但是这样会报错,好像是不允许的。是否有一个用于字符串精确匹配的运算符?
使用 ==
而不是 =
作为运算符是可行的。
当您对数组使用 contains
运算符时,它会执行完全匹配。
例如,如果您的产品只有 Black and White
标签,则 product.tags contains "Black"
不会 return true
,因为 product.tags
是一个数组。如果产品有 Black
标签,它只会 return true
。
看起来您在循环中分别针对每个标签使用了它,其中 tag
是一个字符串。在这种情况下 contains
returns true
当字符串的一部分匹配条件时。