首页 > 解决方案 > Liquid 语法错误(第 4 行):预期 end_of_string 但在“forloop.index0 | modulo: 3 == 0”中找到管道

问题描述

这个错误是因为下面的代码使用不正确的语法编写的。您能否帮助修复其中两行的语法错误?

{% if forloop.index0 | modulo: 3 == 0 %}<div class="row">{% endif %}
{% if forloop.last || forloop.index | modulo: 3 == 0 %}


<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 || 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>

标签: phpfor-loopshopifybackend

解决方案


您在最后缺少结束 If 语句。{% 万一%}

这是没有错误的完整代码 -

{% if forloop.index0 | modulo: 3 == 0 %}<div class="row">{% endif %}
{% if forloop.last || forloop.index | modulo: 3 == 0 %}
<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 || 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>
{% endif %}

推荐阅读