调整选项顺序后变体标题颠倒导致 SKU 对不上
现象#
把 Color 拖到 Size 前面保存后,原本的 Red / Large 变成 Large / Red,ERP 按变体标题匹配的 SKU 全部报未知商品,变体 ID 却没变。
原因#
- 选项顺序决定 option1/option2,标题按位置拼接,改名不改 ID 但会改标题
- productOptionsReorder 会按新顺序重算整个变体列表的排列,位置索引全变
- 主题或 ERP 用 variant.title、forloop.index 定位变体,顺序一动就串行
- 重排要求选项位置连续且每个选项至少被一个变体使用,否则整次保存失败
处理步骤#
- 改前导出
variant.id与selectedOptions,不要只存标题字符串 - 只想换展示顺序时优先改前端,用
option.position只影响渲染 - 必须重排时调用
productOptionsReorder,options 数组顺序即新位置 - 重排后重拉一次
productVariants(first: 250),核对每个 id 的选项值 - 把外部映射的键换成
variant.id或 SKU,别再依赖标题拼接
验收标准#
同一 variant.id 的 selectedOptions 内容不变、只是顺序变化;ERP 按 id 重新匹配后没有未知 SKU。
本文由 风格技术 技术团队整理,适用于 Shopify 标准版与 Plus 店铺。Shopify 平台能力迭代较快,具体操作路径与字段以官方文档和店铺后台实际版本为准。