每日整理真实提问 356 个问题 · 726 个回答 需要系统性的技术文档?看 Shopify 技术百科 1000 篇 → 400-873-8117
已解决 提问于 2 个月前

paginate 写了 limit: 100 但只拿到 50 条

2 个回答 422 次浏览 主题与 Liquid 最后活跃 1 个月前
75

商品集合有 800 多个商品,用 {% paginate collection.products by 100 %} 想一次多显示一些,实际每页还是只有 50 个。

陈
陈工提问者
Shopify 认证开发者 · 专注主题与 Liquid
2 个月前提问 · 已收到 2 个回答

2 个回答

已采纳 · 提问者确认解决
29

先把判断放在前面:paginate 的单页上限是 50,写更大的数字会被静默截断,不会报错。

1处理顺序

  1. 按 50 为上限设置分页,靠翻页覆盖全量商品。
  2. 需要一次性拿更多数据时改用 Storefront API 或 collections 查询,Liquid 侧不适合做全量遍历。
  3. 如果是为了做筛选或排序,用 Storefront 的 filter 能力,而不是在 Liquid 里循环全部商品。
  4. 确认 collection.products_count 与分页页数匹配,避免页数算错出现空页。
  5. 检查是否有应用改写了 collection 的 products 输出,注入的分页参数可能互相冲突。
验收:每页返回数量符合预期且不超过 50,翻页能覆盖全部商品。
风 风格技术团队 回答于 2 个月前
3

顺带说下性能:单页 50 个商品时如果每个商品都输出多图和高清图,LCP 会明显变差,真正该优化的是图片尺寸而不是继续加 limit。

泽 阿泽 · 前端工程师 · 1 个月前

你的处理方式是什么?

写下你实际验证过的步骤,比「我也有这个问题」有用得多。当前版本为静态展示,提交后会由团队整理并回复。

描述你遇到的现象、店铺环境(主题 / 套餐 / 应用)、已经试过哪些操作……
我要单独提问 工作日 10 分钟内回复,可直接加微信 fenggejishu