在液体中增加变量而不输出

use*_*307 2 liquid shopify

我在shopify中做一个for循环,我需要增加一个变量。

但是,当我这样做

{% increment variable %}
Run Code Online (Sandbox Code Playgroud)

除了增加它,它还在屏幕上显示输出!

我不敢相信 有办法避免这种情况吗?

谢谢

Mar*_*oij 8

这是设计使然,它允许您同时递增和显示变量。请参阅文档

assign只允许您分配变量(而不修改现有变量),因此除了创建新标签之外,最简单的方法是使用 usecapture捕获输出:

{% capture _ %}{% increment variable %}{% endcapture %}
Run Code Online (Sandbox Code Playgroud)

话虽这么说,也许是时候重新考虑一下你到底为什么要这样做?请注意,您已经拥有forloop.index并可forloop.index0用于循环索引(再次参见文档)。


Hym*_*Zzy 5

相反,如果您使用@Carpetsmoker建议的除forloop.index以外的其他逻辑来增加值,则可以使用以下语法

{% assign variable = 0 %}
{% for .....
{% assign variable = variable | plus: 1 %}
.... endfor %}
Run Code Online (Sandbox Code Playgroud)

而这更好的文档(小抄)为shopify - http://cheat.markdunkley.com/。随意看看。