Warm tip: This article is reproduced from serverfault.com, please click

其他-Shopify STEP功能是否在液循环中?

(其他 - Shopify STEP function in liquid loop ? Shopify iteration with STEP)

发布于 2020-12-03 19:50:55

我第一次使用shopify模板在Liquid中工作,我找不到关于step对象的Liquid循环功能的任何文档吗?

            {% for i in (2..40)  %}                 
              <option value="{{ i }}">{{ i }}</option>
            {% endfor %} 

我只是想要第2步,但尝试了ruby 2.step(40,2)和java及其他形式都无济于事?有没有人找到这个?还是我可以使用取模支票?

PS。我刚试过

    {% if i | modulo:2 == 0 %}  

但这引发了错误,找不到文档

Questioner
Steven Moffat
Viewed
0
Dave B 2020-12-04 05:00:17

要记住的重要一点是,Liquid是一种模板语言,而不是编程语言。在液体标签内部执行的编程逻辑数量有很多限制。

for循环有几个不同的选项,但step不是其中之一。如果要遍历整数2, 4, 6... 20,我想做的唯一方法是遍历值1 ... 10{% assign val = forloop.index | times: 2 %}在循环内使用以获取所需的值。

同样,你无法在ifunless标记内执行任何操作只允许你通过andor关键字进行一个或多个比较你甚至不能在iforunless语句中使用括号或方括号对逻辑进行分组。(括号是合法字符,但是它们只是被忽略了)相反,你需要assign将值赋给变量,然后使用该变量进行比较。