Liquid中的逗号分隔列表

时间:2015-09-03 14:28:59

标签: shopify dotliquid

我在for循环中提取元数据值,需要在逗号分隔列表中显示它们。

代码(为了便于阅读而添加了空格):

{% if asset.metadata['field01'] %}{{asset.metadata['field01']}}{% endif %}
{% if asset.metadata['field02'] %}{{asset.metadata['field02']}}{% endif %}
{% if asset.metadata['field03'] %}{{asset.metadata['field03']}}{% endif %}

目前显示为:Field 01 ValueField 02 ValueField 03 Value,但我希望它显示为Field 01 Value, Field 02 Value, Field 03 Value

在每个if语句之后,在最后一个值之后留下逗号,手动键入,

1 个答案:

答案 0 :(得分:1)

您可能会发现my answer to this similar question有帮助。

  1. 将每个字段附加到带分隔符的字符串:

    {% assign metadata = "" %}
    {% if asset.metadata['field01'] %}
      {% capture metadata %}{{ metadata | append: asset.metadata['field01'] | append: "|" }}{% endcapture %}
    {% endif %}
    <!-- repeat for fields 2 & 3 -->
    
  2. 使用splitjoin格式化输出字符串:

    {{ metadata | split: "|" | join: ", " }}
    
  3. 这将确保您的输出中不会显示尾随逗号。