Shopify 主题与 Liquid

Shopify paginate 翻页后筛选条件丢失怎么处理

现象#

集合页加了颜色筛选,点第二页筛选全部重置,或者翻页后仍显示筛选前的商品。

原因#

  • 翻页链接只带了 page 参数,没有把筛选参数拼回去
  • 筛选是在前端 JS 做的,翻页重新请求时没有重新应用
  • 用了 collection.products 而不是 collection.products 的筛选结果集
  • paginate 的 by 值与筛选后的总数不匹配,导致末页空白

处理步骤#

  1. 翻页链接改为 {{ paginate | default_pagination }} 的替代写法,手动拼上现有 query:?page={{ next_page }}&{{ request.query_string }} 需去重 page 参数
  2. 用 Shopify 原生筛选 collection.filters,它自带参数保持
  3. 前端筛选时把筛选状态写进 URL,翻页时从 URL 恢复
  4. 确认 paginate 包在筛选后的循环外层,而不是里面

验收标准#

带筛选参数点第 2 页,URL、商品列表、筛选选中态三者一致;末页无空白。

本文由 风格技术 技术团队整理,适用于 Shopify 标准版与 Plus 店铺。Shopify 平台能力迭代较快,具体操作路径与字段以官方文档和店铺后台实际版本为准。