我完全被如何计算加上一个指向变量的变量所困扰{% assign var = 0 %}.这应该是最简单的任务.这是我到目前为止所尝试的:
{% assign amount = 0 %}
{% for variant in product.variants %}
{% assign amount = amount + 1 %}
{% endfor %}
Amount: {{ amount }}
Run Code Online (Sandbox Code Playgroud)
结果总是如此0.也许我忽视了一些显而易见的事情.也许有一个更好的方式.我想要归档的只是获取运行的迭代次数.
由于{{ increment amount }}将输出您的变量值并且不影响由其定义的变量{% assign %},我建议您使用{% capture %}:
{% assign amount = 0 %}
{% for variant in product.variants %}
{% capture amount %}{{ amount | plus:1 }}{% endcapture %}
{% endfor %}
Amount: {{ amount }}
Run Code Online (Sandbox Code Playgroud)
我同意这很冗长,但它是AFAIK唯一可行的解决方案.
这对我有用并且有点不那么冗长:
{% assign amount = 0 %}
{% for variant in product.variants %}
{% assign amount = amount | plus:1 %}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
此外,它看起来capture返回一个字符串而不是整数,因此amount如果您想要执行类似的操作,则必须强制转换为整数{{if amount >= 10}}。