首页 > 解决方案 > Shopify / Liquid 运营商 - 仅包含

问题描述

如果字符串仅包含(即完全匹配)指定的字符串,我正在寻找一个液体运算符。

例如,假设我有两个产品标签,“黑色”和“黑白”,我只想为“黑色”触发一个事件,我该怎么做?下面的液体会触发两者,因此输出消息两次。

{% if tag contains 'Black' %} Hi {% endif %}

我试过了,例如

{% if tag = 'Black' %} Hi {% endif %}

但这会产生错误,似乎是不允许的。是否有一个运算符用于字符串的精确匹配?

标签: shopifyliquid

解决方案


当您contains对数组使用运算符时,它会执行完全匹配。

例如,如果您的产品只有Black and White标签,product.tags contains "Black"则不会返回true,因为product.tags它是一个数组。true只有当产品有Black标签时才会返回。

看起来您在循环中针对每个标签单独使用了它,其中tag是一个字符串。在这种情况下,当字符串的一部分匹配条件时contains返回。true


推荐阅读