You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Shopify默认Search & Discovery应用中排除标签及集合页配置

在Shopify Collections/All页面排除指定标签的实现方案

一、输入标签的变量匹配逻辑

你已经通过文本框收集了用户输入的排除标签,接下来需要做的是清洗输入内容并实现产品标签的匹配过滤:

  1. 处理输入变量
    先对用户输入的标签做格式化处理,解决分隔符、空格、重复项问题,示例Liquid代码:

    {% assign excluded_tags = settings.excluded_tags_input | split: ',' | map: 'strip' | map: 'downcase' | reject: 'empty' | uniq %}
    

    代码说明:

    • split: ',':按逗号拆分输入内容成数组
    • map: 'strip':移除每个标签前后的空格
    • map: 'downcase':统一转成小写,避免大小写匹配问题
    • reject: 'empty':过滤掉空字符串
    • uniq:移除重复的标签
  2. 产品匹配过滤
    在collections/all模板的产品循环中,加入判断逻辑,跳过包含排除标签的产品:

    {% for product in collection.products %}
      {% assign skip_product = false %}
      {% assign product_tags_lower = product.tags | map: 'downcase' %}
      {% for tag in excluded_tags %}
        {% if product_tags_lower contains tag %}
          {% assign skip_product = true %}
          {% break %}
        {% endif %}
      {% endfor %}
      {% unless skip_product %}
        <!-- 这里放置你的产品卡片渲染代码 -->
      {% endunless %}
    {% endfor %}
    

    逻辑说明:先把产品标签转成小写,再遍历排除标签数组,只要产品有一个标签匹配,就标记为跳过,不渲染该产品。

二、在Shopify筛选应用中实现的方法

1. 主题自带筛选(Online Store 2.0)

如果你的主题支持Online Store 2.0架构:

  • 进入Shopify后台的「在线商店」→「主题」→「自定义」,打开Collections/all页面
  • 若已添加筛选区块,直接编辑模板代码,将上面的变量匹配逻辑整合到产品循环中,替换原有的产品渲染部分
  • 确保文本框的设置项(settings.excluded_tags_input)能正确读取用户输入的标签

2. 第三方筛选应用

主流的Shopify筛选应用都支持排除规则设置:

  • 打开筛选应用的后台,找到「筛选规则」或「高级规则」选项
  • 添加新规则,选择「标签」作为筛选字段,设置条件为「不包含」
  • 将用户输入的排除标签列表导入规则(部分应用支持直接读取主题设置中的变量,可关联你之前创建的excluded_tags变量,实现动态同步)
  • 保存规则后,应用会自动在collections/all页面生效,过滤掉带有指定标签的产品

注意事项

  • 标签匹配默认大小写敏感,建议统一转成小写处理,避免漏判或误判
  • 若产品数量较大,循环判断可能影响页面加载速度,可考虑在Shopify后台创建一个「排除标签」集合,通过集合关联的方式优化性能

内容的提问来源于stack exchange,提问作者Dharmesh Vekariya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 07:15:21