Shopify-如何显示/隐藏购物车{{note}},具体取决于其在电子邮件通知中为空的



我在购物车页面上添加了一个{{ cart.note }}部分,我将其用于内部采购订单。对于客户电子邮件通知,我希望该字段显示而不是默认发票号码,但前提

我尝试在电子邮件通知部分中写下此内容:

{% if note != '' %}Purchase Order #: {{ note }} 
{% else %}Order {{ order_name }} 
{% endif %}

我也尝试在使用cart.note的IF语句中替换note,并且没有更改任何内容。

虽然最终显示了第一行,即使将其留为空(也不显示第二行)。

如果有帮助,这是来自 cart-template.liquid

<textarea name="note" class="input-full" id="CartSpecialInstructions">{{ cart.note }}</textarea>

a:在液体中,''(空字符串)与null不同 - 使用blank关键字覆盖所有情况

在液体中,某些比较和真实/假值的行为不像来自其他语言时所期望的那样。幸运的是,blank关键字存在,它将匹配以下所有内容:

  • null/nil
  • false
  • ''(空字符串)
  • []/{}(空数组/对象)

更改与{% if note != blank %}的比较应该使您的代码完全按照您的预期行事。

欢呼!

ps:另外,如果您喜欢阅读正面比较(或者只是想幻想),则可以使用等效的"''语句: {% unless note == blank %} ... {% else %} ... {% endunless %}

最新更新