如果满足条件,如何将项目设置为Liquid的for循环中的第一个项目

时间:2020-06-21 17:36:54

标签: javascript shopify liquid

我在Liquid中有一个for循环,该循环遍历客户地址。我想做的是将已设置为默认地址(customer.default_address)的地址作为循环中出现的第一个地址。我目前在默认地址中添加了默认标记,但努力使它首次出现。 我尝试使用“排序”,但没有运气。 我当前的代码如下。 任何帮助将不胜感激。

{% assign sortedAddresses = customer.addresses | sort: 'customer.default_address' %}
{% for address in sortedAddresses %}
  <div class="address">
   {{ address | format_address }}
     {% if address == customer.default_address %}
       <div class="default">DEFAULT</div>
     {% endif %}
  </div>
{% endfor %}

1 个答案:

答案 0 :(得分:0)

您具有default_address作为customer的属性,我猜测customer.addresses是字符串数组。如果您要使customer.addresses成为对象数组,而不是...,其字符串属性为address,默认属性为true / false,则可以执行以下操作:

{% assign default_address = customer.addresses | where: "default", true %}
{% assign address_array = default_address | concat: customer.addresses %}
{% assign customer.addresses = address_array | uniq %}