显示结果列表减去Liquid中的重复项

时间:2016-12-20 03:16:43

标签: shopify liquid business-catalyst

我有一个名为Industry的字符串字段,人们将进入他们的行业。例如农业,制造业,IT,园林绿化等。

我想使用液体输出这些数据但是,我想将其放在下拉菜单中的Web App Search表单中,以便用户可以搜索特定字段。因此,我不想添加任何重复的项目。

E.g。用户的条目包括:农业,制造业,农业,IT,园林绿化,农业 - 您可以看到农业使用3次。如果我使用以下它将被列出3次:

<select>
{module_webapps id="12345" collection="industry" filter="all" template=""}
{% for item in industry.items %}
     <option value="{{item.industry}}">{{item.industry}}</option>
{% endfor %}
</select>

如何使用循环或数组仅显示行业一次并隐藏所有其他重复项?

由于

1 个答案:

答案 0 :(得分:0)

你可以capture一串所有物品。然后使用字符串过滤器split将其转换为基于分隔符的数组。然后使用uniq数组过滤器删除所有重复项。最后,迭代生成的数组以构建下拉菜单。

<select>
{module_webapps id="12345" collection="industry" filter="all" template=""}

{% capture items %}
{% for item in industry.items %}
{{item.industry}},
{% endfor %}
{% endcapture %}

{% for item in items | split: ',' | uniq %}
    <option value="{{item}}">{{item}}</option>
{% endfor %}
</select>