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

商品变体只返回前 100 个,怎么取全

2 个回答 1,923 次浏览 Admin API 与 GraphQL 最后活跃 10 天前
36

一个商品有 300 多个变体,查询 variants(first: 250) 只拿到 100 个,没有 hasNextPage 提示。

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

2 个回答

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

先把判断放在前面:variants 连接在部分查询上下文里默认上限是 100,且必须显式传 first 才会返回分页信息。

1处理顺序

  1. 显式写 variants(first: 250) 并请求 pageInfo { hasNextPage endCursor }。
  2. 用 after: endCursor 循环取下一页,直到 hasNextPage 为 false。
  3. 变体超过 2000 个时改用 productVariants 顶层查询按 product_id 过滤。
  4. 批量场景用 Bulk Operations,避免几十次往返。
  5. 确认没有在嵌套查询里写 first 却没读 pageInfo,这会让它看起来「只有 100 个」。
验收:取到的变体数量与后台一致,且翻页逻辑在 300 个变体的商品上跑通。
风 风格技术团队 回答于 13 天前
7

补一句:variants 在 2024 之后的版本里返回结构变过,nodes 与 edges 二选一,混用会拿到空数组。

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

你的处理方式是什么?

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

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