如何计算 Liquid 中的变量 +1

How to count variable +1 in Liquid

我完全被如何计算通过 {% assign var = 0 %} 分配的变量加一所困扰。这应该是最简单的任务。到目前为止,这是我尝试过的方法:

{% assign amount = 0 %}
{% for variant in product.variants %}
    {% assign amount = amount + 1 %}
{% endfor %}

Amount: {{ amount }}

结果总是0。也许我忽略了一些明显的东西。也许有更好的方法。我想要存档的只是获取 运行.

的迭代次数

因为{{ increment amount }}会输出你的变量值,而不会影响{% assign %}定义的变量,我建议你使用{% capture %} :

{% assign amount = 0 %}
{% for variant in product.variants %}
    {% capture amount %}{{ amount | plus:1 }}{% endcapture %}
{% endfor %}

Amount: {{ amount }}

我同意这很冗长,但据我所知这是唯一可行的解​​决方案。

这对我有用,而且不那么冗长:

{% assign amount = 0 %}
{% for variant in product.variants %}
  {% assign amount = amount | plus:1 %}
{% endfor %}

此外,它看起来像 capture returns 一个字符串而不是一个整数,因此如果您想执行类似 [=13] 的操作,则必须将 amount 转换为一个整数=].