【问题标题】:Shopify STEP function in liquid loop ? Shopify iteration with STEP液体循环中的 Shopify STEP 功能?使用 STEP 进行 Shopify 迭代
【发布时间】:2021-03-15 21:20:18
【问题描述】:

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

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

我只是想第2步但是试过ruby 2.step(40,2)和java等形​​式都无济于事? 有没有人发现这个?或者我可以使用模数检查吗?

附言。我刚试过

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

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

【问题讨论】:

    标签: shopify shopify-api


    【解决方案1】:

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

    for 循环有a few different options,但step 不是其中之一。如果您想遍历整数 2, 4, 6... 20,我能想到的唯一方法是遍历值 1 ... 10 并在循环内使用 {% assign val = forloop.index | times: 2 %} 以获得您想要的值。

    同样,您无法在ifunless 标记内执行任何操作。您只能进行一个或多个比较,与 andor 关键字相关。 You cannot even use parentheses or brackets inside your if or unless statements 对您的逻辑进行分组。 (括号是合法字符,但它们会被忽略)相反,您需要将 assign 值传递给变量,然后使用该变量进行比较。

    【讨论】:

    • 谢谢戴夫,很高兴知道这些限制!欣赏乘以循环的索引来实现的概念。
    猜你喜欢
    • 1970-01-01
    • 2020-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-12
    • 1970-01-01
    相关资源
    最近更新 更多