Liquid语法报错:Expected end_of_string but found pipe 修复求助
Liquid语法报错修复方案
错误原因
本次报错由两处不规范的Liquid语法导致:
- 条件判断中使用过滤器的表达式需要用括号包裹,不能直接将管道符写在无括号的判断逻辑里
- Liquid的逻辑或运算符是关键字
or,不支持||写法
另外原代码开头有两行冗余的判断语句,位于for循环外部不存在forloop变量,运行也会触发错误,已同步删除。
修复后代码
<div class="impact-items"> {% for block in section.blocks %} {% if (forloop.index0 | modulo: 3) == 0 %}<div class="row">{% endif %} <div class="impact-content col-xs-12 col-md-4"> <div class="impact-icon"><img src="{{block.settings.impact_icon | img_url: 'master' }}"></div> <div> <div class="impact-number">{{block.settings.impact_number}}</div> <div class="impact-text">{{block.settings.impact_text}}</div> </div> </div> {% if forloop.last or (forloop.index | modulo: 3) == 0 %} </div> {% endif %} {% endfor %} <div class="row"> <div class="mt2x btn center-xs col-sm-12 col-md-12 col-lg-12 col-xl-12"><a href='https://packedwithpurpose.gifts/our-impact/impact-report-2020/'><button>Learn More About our Impact</button></a></div> </div> </div>
内容的提问来源于stack exchange,提问作者CodeForGood
相关产品推荐
相关产品推荐

