液体:如果总和(加)大于

Liquid: If sum (plus) greater than

为什么 LIQUID 中的这个操作不能正常工作?

{% if beschr[0].size | plus: beschr[1].size > 160 %}
  <script>var testval= '{{ beschr[0].size }}'; 
  alert(testval);</script>
{% else %}
{% endif %}

beschr[0] 是 110,beschr[1] 是 200。我确定这是有效的,我将这些值放入 javascript 并检查。问题是,如果我将“<”更改为“>”也是如此!!在这两种情况下我都会收到警报? 就算我写

{% if 100 | plus: 200 < 160 %}

这是真的。所以我需要做的是

{% assign summe = beschr[0].size | plus: beschr[1].size %}
{% if summe < 160 %}

然后就可以了。但为什么?我使用了无效的 liquid 语法吗?

您可以尝试使用逻辑||运算符代替并检查它是否有效。

 {% if beschr[0].size || plus: beschr[1].size > 160 %}
 <script>var testval= '{{ beschr[0].size }}'; 
      alert(testval);</script>
    {% else %}
    {% endif %}


 

不能在条件语句中使用液体过滤器。您必须事先分配变量。