在Liquid中是否有一个“break”标签来跳出循环?

44
如何在Liquid中跳出循环,特别是在for循环中?我已经尝试使用{% break %},但它失败并显示错误信息:“无法保存文件:未知标签'break'”。
我想要实现的效果类似于:
var variants = [];
{% for item in cart.items %}
    {% if item.product.handle == "handle-name" %}
    variants = {{item.product.variants | json}};
    {% break %} // won't work
    {% endif %}
{% endfor %}
1个回答

69

针对未来的访客。上述代码在当前的Liquid(gem v2.5.1)中确实可行

因此,您可以简单地执行以下操作:

{% for item in cart.items %}
    {% if item.product.handle == "handle-name" %}
    variants = {{item.product.variants | json}};
       {% break %} // This will work
    {% endif %}
{% endfor %}

1
Joost是正确的。只需更新您的Liquid Gem即可。请查看此页面https://github.com/Shopify/liquid/issues/119 - Hossain Mohd Faysal
奇怪,我不知道为什么错过了这个答案。感谢Hossain的评论,虽然我无法测试它,但答案似乎是正确的,所以我接受了它。 - Lekensteyn
它可以工作,但仍未成为Shopify文档的一部分-https://docs.shopify.com/themes/liquid-documentation/tags/iteration-tags - JoshHighland
7
文档已经更新,包括 {% break %}{% continue %} - Carson

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接