Shopify中按前缀过滤Tag并分组提取分类标题与对应值的实现方法
实现方案(基于Shopify Liquid模板语法)
你可以直接在对应页面的Liquid模板中添加以下代码实现需求:
{% comment %} 初始化空对象存储分类后的筛选标签 {% endcomment %} {% assign filter_tags = hash %} {% comment %} 遍历所有标签筛选并分类 {% endcomment %} {% for tag in product.tags %} {% if tag starts_with 'filter-' %} {% assign tag_parts = tag | split: '-' %} {% assign category = tag_parts[1] %} {% assign value = tag_parts[2] %} {% comment %} 分类不存在则初始化,存在就追加值 {% endcomment %} {% if filter_tags[category] == nil %} {% assign filter_tags[category] = value %} {% else %} {% assign filter_tags[category] = filter_tags[category] | append: ',' | append: value %} {% endif %} {% endif %} {% endfor %} {% comment %} 遍历输出HTML结构 {% endcomment %} {% for category in filter_tags %} <h1>{{ category[0] }}</h1> <p>{{ category[1] }}</p> {% endfor %}
补充说明
如果需要对同分类下的值去重或者排序,可以在追加值的步骤前添加判断逻辑,比如检查当前值是否已经存在于对应分类的字符串中,确认不存在再追加即可。
内容的提问来源于stack exchange,提问作者Rohan
相关产品推荐
相关产品推荐

