Shopify 商品与变体

调整选项顺序后变体标题颠倒导致 SKU 对不上

现象#

把 Color 拖到 Size 前面保存后,原本的 Red / Large 变成 Large / Red,ERP 按变体标题匹配的 SKU 全部报未知商品,变体 ID 却没变。

原因#

  • 选项顺序决定 option1/option2,标题按位置拼接,改名不改 ID 但会改标题
  • productOptionsReorder 会按新顺序重算整个变体列表的排列,位置索引全变
  • 主题或 ERP 用 variant.title、forloop.index 定位变体,顺序一动就串行
  • 重排要求选项位置连续且每个选项至少被一个变体使用,否则整次保存失败

处理步骤#

  1. 改前导出 variant.id 与 selectedOptions,不要只存标题字符串
  2. 只想换展示顺序时优先改前端,用 option.position 只影响渲染
  3. 必须重排时调用 productOptionsReorder,options 数组顺序即新位置
  4. 重排后重拉一次 productVariants(first: 250),核对每个 id 的选项值
  5. 把外部映射的键换成 variant.id 或 SKU,别再依赖标题拼接

验收标准#

同一 variant.id 的 selectedOptions 内容不变、只是顺序变化;ERP 按 id 重新匹配后没有未知 SKU。

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