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

Webflow中如何在自定义属性过滤时排除指定CMS项

Webflow频道筛选:解决Discover套餐误匹配及排除特定项问题

Webflow自带的自定义属性过滤器是模糊匹配,只要内容里包含筛选关键词就会被命中,这就是为啥"Discover"按钮会带出"Discovery Velocity"频道——它的标题里有"Discover"字符串。另外Webflow原生不认exclude-cms-items这种自定义属性,所以你加了也没用。

给你三个实用的解决办法:

方法一:用精准匹配字段替代模糊筛选

  • 给「TV Channels」CMS集合新增一个单行文本字段,比如命名为「精准套餐标识」。
  • 给属于Discover套餐的频道,这个字段统一填discover;给"Discovery Velocity"这类不属于该套餐的频道,填对应的其他标识(比如discovery-velocity)。
  • 把筛选按钮的自定义属性改成filter-by=精准套餐标识,值设为discover。这样筛选就只会匹配字段值完全等于discover的频道,不会误捞。

方法二:用自定义JS手动排除指定频道

如果不想改CMS字段,直接加一段JS实现排除逻辑:

  • 保留原来的filter-by="Discover"按钮,然后在页面的「自定义代码」区域(页脚部分)添加以下脚本:
// 监听Discover筛选按钮点击
document.querySelector('[filter-by="Discover"]').addEventListener('click', function() {
  // 延迟100ms等待Webflow完成筛选渲染
  setTimeout(() => {
    // 找到所有频道项,隐藏指定名称的频道
    document.querySelectorAll('.tv-channel-item').forEach(item => {
      if (item.textContent.includes('Discovery Velocity')) {
        item.style.display = 'none';
      }
    });
  }, 100);
});
  • 注意:把.tv-channel-item换成你页面中频道项实际使用的类名。

方法三:用Webflow内置集合筛选器(静态切换场景)

如果你的筛选是基于集合列表的静态切换,可以直接用Webflow内置的集合筛选器:

  • 选中集合列表,在右侧面板的「筛选」选项里,添加筛选条件:「套餐名称」等于「Discover」(一定要选「等于」,别选「包含」)。
  • 如果需要多个按钮切换不同套餐,可以给每个按钮绑定交互,切换对应集合列表的筛选条件,这种方式完全不需要自定义属性,精准度更高。

内容的提问来源于stack exchange,提问作者Emma Sewell

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 17:42:40