循环内的Shopify / Liquid特定循环索引

时间:2016-06-01 21:21:54

标签: shopify liquid

在Shopify中,我试图浏览一些包含要素标题的元数据。然后我需要循环浏览其他一些元场并根据当前循环索引获取特征描述。

这段代码对我来说很合适,但它非常不优雅,而且我确信有更好的方法可以达到相同的效果!

{% for field in product.metafields.feature_title %}
    <h4>{{ field | last }}</h4>
    {% assign i = forloop.index %}
    {% if forloop.index == 1 %}
         <p>{{ product.metafields.feature_description.001 }}</p>
    {% endif %}
    {% if forloop.index == 2 %}
         <p>{{ product.metafields.feature_description.002 }}</p>
    {% endif %}
    {% if forloop.index == 3 %}
         <p>{{ product.metafields.feature_description.003 }}</p>
    {% endif %}
    {% if forloop.index == 4 %}
         <p>{{ product.metafields.feature_description.004 }}</p>
    {% endif %}
    {% if forloop.index == 5 %}
    <p>{{ product.metafields.feature_description.005 }}</p>
    {% endif %}
{% endfor %}

此外还有一个缺陷,即限制为5,或者if语句创建的数量为多。

干杯,

DB

1 个答案:

答案 0 :(得分:1)

未经测试,但这样的事情应该有效:

{% for field in product.metafields.feature_title %}
  <h4>{{ field | last }}</h4>
  {% capture idx %}00{{forloop.index}}{% endcapture %}
  {% assign key = idx | slice: -3, 3 %}
  <p>{{ product.metafields.feature_description[key]}}</p>
{% endfor %}