【问题标题】:Shopify / Liquid Operators - Contains OnlyShopify / Liquid 运营商 - 仅包含
【发布时间】:2020-05-19 18:36:23
【问题描述】:

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

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

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

我已经尝试过,例如

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

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

【问题讨论】:

    标签: shopify liquid


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

      使用== 而不是= 作为运算符有效。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-08-28
        • 1970-01-01
        • 1970-01-01
        • 2020-07-24
        • 1970-01-01
        相关资源
        最近更新 更多