Shopify Liquid 获取 for 循环中的每个偶数块

Shopify Liquid get every even block in forloop

我试图让每个在 shopify liquid 中位置均匀的块都放在 forloop 中:

{% for block in section.blocks %}
      {% if forloop.index | modulo : 2 == 0%}
        //some code
      {%endif%}
{% endfor %}

但是 shopify returns 我这个错误:

Expected end_of_string but found pipe in "forloop.index | modulo : 2 == 0"

谁能帮我解决这个问题? 提前致谢 :D

您需要将计算与液体中的逻辑分开。

{% assign num = forloop.index | modulo: 2 %}
{% if num == 0 %}
    // code
{% endif %}

所以必须把模块计算保存为变量,然后再检查,不能同时检查和计算。