是否有一个“break”标签来逃避 Liquid 中的循环?
Posted
技术标签:
【中文标题】是否有一个“break”标签来逃避 Liquid 中的循环?【英文标题】:Is there a "break" tag to escape a loop in Liquid? 【发布时间】:2011-12-23 02:46:16 【问题描述】:如何在 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】:对于未来的访客。上面的代码确实在当前的 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 %
【讨论】:
约斯特是对的。只需更新您的液体宝石。看看这个页面github.com/Shopify/liquid/issues/119 奇怪,我不知何故错过了这个答案。感谢侯赛因的评论,我无法测试它,但答案似乎正确,所以我接受它。 它可以工作,但它仍然不是 shopify 文档的一部分 - docs.shopify.com/themes/liquid-documentation/tags/… 文档已更新为包含% break %
和 % continue %
以上是关于是否有一个“break”标签来逃避 Liquid 中的循环?的主要内容,如果未能解决你的问题,请参考以下文章
Jekyll/Liquid - 如何将大块文本添加到 YAML 前端?
html 标签相关产品 - 添加到product.liquid
scss 使用Autoprefixer在SASS中编译Shopify Liquid标签的Gulp任务