液体 - 除非 for.loop 似乎总是最后一个
liquid - unless for.loop always seems to be last
考虑以下:
{% for variant in product.variants %}
{{ forloop.index }}<br>
{{ unless forloop.last }}LAST<br>{{ endunless }}
{% endfor %}
根据 shopify docs:
Returns true if it's the last iteration of the for loop. Returns false
if it is not the last iteration.
以上代码的输出是:(对于 3 个变体)
1
LAST
2
LAST
3
LAST
为什么? forloop.last
上下文中的变体对象是否与其他对象不同?
您已使用双花括号分隔符而不是花括号百分比分隔符来分隔 unless
查询。因此,它们不会围绕文字值 LAST
形成条件范围,因此总是添加(忽略条件)。
如果您为条件使用正确的大括号样式,它应该可以正常工作:
{% for variant in product.variants %}
{{ forloop.index }}<br>
{% unless forloop.last %}LAST<br>{% endunless %}
{% endfor %}
考虑以下:
{% for variant in product.variants %}
{{ forloop.index }}<br>
{{ unless forloop.last }}LAST<br>{{ endunless }}
{% endfor %}
根据 shopify docs:
Returns true if it's the last iteration of the for loop. Returns false if it is not the last iteration.
以上代码的输出是:(对于 3 个变体)
1
LAST
2
LAST
3
LAST
为什么? forloop.last
上下文中的变体对象是否与其他对象不同?
您已使用双花括号分隔符而不是花括号百分比分隔符来分隔 unless
查询。因此,它们不会围绕文字值 LAST
形成条件范围,因此总是添加(忽略条件)。
如果您为条件使用正确的大括号样式,它应该可以正常工作:
{% for variant in product.variants %}
{{ forloop.index }}<br>
{% unless forloop.last %}LAST<br>{% endunless %}
{% endfor %}