如何在if条件语句中使用过滤器? - Shopify Liquid

5

在if语句的条件中使用过滤器是否可能?

我发现没有办法直接这样做,除非我创建一个变量来存储过滤后的数据并在条件中使用。这对我来说很奇怪,肯定有更好的方法。

我想做类似于这样的事情,但是我遇到了错误:

{% if numA | plus:5 >= numB %}

我希望避免做这件事情:
{% assign temp = numA | plus:5 %}
{% if temp >= numB %}
1个回答

6
在Shopify Liquid中,你想要实现的操作是不可能的。这是来自官方Shopify Liquid问题页面的说法。
括号在Liquid中是不允许的。它们不能像编程语言中使用那样用于条件语句。
过滤器在条件语句中也是不允许的,在Shopify中使用会导致意外结果。
下面的代码: {% if cart.item_count|times:1 > 5 %} 会生成此Liquid警告: Expected end_of_string but found pipe in "cart.item_count|times:1 > 5"
因此,你在问题中提到的唯一可行的解决方案就是这样。
{% assign temp = numA | plus:5 %}
{% if temp >= numB %}

Liquid中IF条件中的数学过滤器


谢谢。这会导致创建很多一次性使用的变量,而我希望避免这种情况。 - Seeker

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接