分类页有商品,但左侧没有颜色、品牌等属性筛选,先看是所有筛选都消失,还是只有某一个属性缺失。前者通常与分类设置、布局或主题有关;后者更常见于属性配置、商品赋值和索引。
分类必须允许分层导航
在分类 Display Settings 中确认 Anchor 已启用。非 Anchor 分类默认不会按普通分层导航方式聚合属性。还要确认该分类使用的页面布局没有移除 catalog.leftnav,自定义主题或 Page Builder 布局也可能把侧栏容器隐藏。
属性要同时满足前台筛选条件
用于筛选的属性一般应为 Dropdown、Multiple Select、Price 或兼容的输入类型,并将“Use in Layered Navigation”设为 Filterable。Filterable (with results) 只显示当前商品集合中确实有结果的选项;Filterable (no results) 的表现不同。属性还要分配到相关 Attribute Set,分类内商品必须实际保存了选项值。
多商店环境下,属性标签和商品值可能按商店视图覆盖。检查当前 Store View,而不是只看 All Store Views。若只有一个选项或所有商品值相同,主题或搜索实现也可能选择不显示没有区分度的筛选。
数据正确后再处理索引
bin/magento indexer:status
bin/magento indexer:reindex catalog_product_attribute
bin/magento indexer:reindex catalogsearch_fulltext
bin/magento cache:clean block_html full_page
如果依赖 OpenSearch/Elasticsearch 的聚合,搜索索引异常会让商品能从缓存中显示,但筛选聚合缺失。检查搜索服务日志和 Magento 异常,不要把“重建成功”当作唯一判断,还要确认前台请求使用的是新索引。
用原生主题区分数据与展示问题
HTML 中已有筛选数据但页面看不到,检查 CSS、折叠组件和 JavaScript;响应中根本没有对应 filter,则回到集合和索引。第三方搜索模块通常替换原生 LayerResolver 或 FilterList,需要按它自己的索引和配置检查。
修复后选择一个分类,准备至少两个拥有不同属性值的可售商品,分别测试访客、不同商店视图和带筛选参数的分页。筛选数量、结果商品数和 URL 参数都正确,才说明分层导航真正恢复。

