У меня проблема с отображением тегов в определенном порядке c, основанном на первой части тега. Например, у меня есть список потенциальных тегов продукта:
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 %}
Однако это не так. Значение после подчеркивания в теге является переменным, и может быть несколько вхождений любой из групп тегов (ie. Размер выше) для любого отдельного продукта.
Кажется, мне нужно использовать какой-то ассоциативный массив, чтобы это произошло, но я не могу полностью понять, как это будет сделано.