【问题标题】:Liquid syntax error (line 4): Expected end_of_string but found pipe in "forloop.index0 | modulo: 3 == 0"Liquid 语法错误(第 4 行):预期 end_of_string 但在“forloop.index0 | modulo: 3 == 0”中找到管道
【发布时间】:2021-11-24 15:07:51
【问题描述】:

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

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

【问题讨论】:

  • 请分享更多细节。为什么不修复语法?这与asp.net 有什么关系?
  • asp.net 被错误选择了。

标签: php for-loop shopify backend


【解决方案1】:

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

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

{% 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 %}

【讨论】:

  • 感谢您的宝贵时间,但 if 语句没有任何问题。问题是有人将表达式分配给了一个变量,而不是像我一样直接使用它。
【解决方案2】:
    {% 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 %}
    {% modulo = forloop.index0 | modulo: 3 %}
      {% if modulo == 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 %}

【讨论】:

  • 请在您的答案中添加一些解释,以便其他人可以从中学习
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-12-08
  • 2014-03-03
  • 2016-11-09
  • 1970-01-01
  • 1970-01-01
  • 2018-12-18
  • 2019-01-24
相关资源
最近更新 更多