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

循环里怎么拿到超过 50 条数据

2 个回答 3,892 次浏览 主题与 Liquid 最后活跃 27 天前
73

想做「所有品牌」的索引页,collection.products 循环只能出 50 个,改用 collections['all'].products 也一样。

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

2 个回答

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

先把判断放在前面:Liquid 侧对集合类对象有 50 条的输出上限,这是平台保护,不是主题限制。

1处理顺序

  1. 改用 collections 接口拉全量,分页取:/collections.json?limit=250&page=n。
  2. 商品量大时用 Storefront API 的 products(first: 250) 配合游标分页。
  3. 如果只是要品牌列表,用 metafield 或标签聚合,不必遍历商品。
  4. 服务端预生成索引页,定时任务拉取后写入一个 JSON 资源,前台读取。
  5. 确认渲染后的页面体积,全量索引页不要内联所有图片。
验收:索引页展示的数量与实际商品数一致,翻页或搜索能覆盖全部条目。
风 风格技术团队 回答于 1 个月前
8

补充:all_products 也有同样限制,而且更严格。真正需要全量数据时不要在 Liquid 里想办法,直接走 API。

泽 阿泽 · 前端工程师 · 29 天前

你的处理方式是什么?

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

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