【发布时间】:2023-12-26 04:26:01
【问题描述】:
我有一个问题,我需要根据标签的第一部分按特定顺序显示标签。例如,我有一个潜在产品标签列表:
category_electronics
size_large
color_black
color_brown
weight_10
并且我需要它们根据应用于标签第一部分(下划线之前)的预设顺序进行排序,例如:
size
color
weight
category
因此,对于上面的示例,我希望得到的列表排序如下:
size_large
color_black
color_brown
weight_10
category_electronics
如果完整的标签名称都已知,这将很简单,因为我可以这样做:
{% assign tags = 'size_large,color_black,color_brown,weight_10,category_electronics' | split: ',' %}
{% for t in tags %}
{% assign tag = t | strip %}
{% if product.tags contains tag %}
<li>{{ tag }}</li>
{% endif %}
{% endfor %}
{% endif %}
然而,事实并非如此。标记中下划线后的值是可变的,任何单个产品的任何标记组(即上述尺寸)都可能多次出现。
看来我需要使用某种关联数组来实现这一点,但我无法完全理解如何做到这一点。
【问题讨论】:
标签: arrays sorting shopify liquid