我第一次使用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 %}
但这引发了错误,找不到文档
要记住的重要一点是,Liquid是一种模板语言,而不是编程语言。在液体标签内部执行的编程逻辑数量有很多限制。
for循环有几个不同的选项,但step
不是其中之一。如果要遍历整数2, 4, 6... 20
,我想做的唯一方法是遍历值1 ... 10
并{% assign val = forloop.index | times: 2 %}
在循环内使用以获取所需的值。
同样,你无法在if
或unless
标记内执行任何操作。只允许你通过and
或or
关键字进行一个或多个比较。 你甚至不能在if
orunless
语句中使用括号或方括号对逻辑进行分组。(括号是合法字符,但是它们只是被忽略了)相反,你需要assign
将值赋给变量,然后使用该变量进行比较。
谢谢戴夫,很高兴知道这些限制!欣赏乘以循环索引来实现的概念。