Shopify侧边栏菜单如何实现各集合对应商品数量的展示
Shopify侧边栏集合商品数显示异常修复方案
问题根因
- 所有集合显示相同数量:要么是你把计数逻辑写在了菜单循环之外,引用了全局指向总分类的
link变量,要么是误用了统计全量包含子集合商品的计数属性 - 子分类(T-Shirts/Sweaters等)未显示数量:你只给一级菜单加了计数判断,没有递归处理下拉子菜单的链接条目
修复步骤
- 首先找到侧边栏菜单的 Liquid 代码位置,确认逻辑写在菜单链接的循环体内
- 替换原有代码,补充子菜单遍历逻辑,完整参考代码如下:
{%- for link in section.settings.sidebar_menu.links -%} <li class="menu-item"> {# 一级菜单计数 #} {{- link.title | escape -}} {% if link.type == 'collection_link' %} ({{ link.object.products_count }}) {% endif %} {# 处理下拉子菜单 #} {% if link.links != blank %} <ul class="sub-menu"> {% for child_link in link.links %} <li class="sub-menu-item"> {{ child_link.title | escape }} {% if child_link.type == 'collection_link' %} ({{ child_link.object.products_count }}) {% endif %} </li> {% endfor %} </ul> {% endif %} </li> {%- endfor -%}
关键修正点
- 将原来的
all_products_count替换为products_count:all_products_count会统计当前集合+所有下属子集合的全部商品总和,products_count仅统计当前集合自身的商品数 - 计数逻辑必须对应对应层级的链接对象:一级菜单读
link的属性,子菜单读child_link的属性,不要引用全局link变量 - 补充子菜单遍历逻辑,给子级集合也加上计数判断
若修改后仍有显示异常,可到Shopify后台主题编辑页清空缓存,或用隐私模式预览修改效果。
内容的提问来源于stack exchange,提问作者carl
相关产品推荐
相关产品推荐

