Storefront API 多市场多语言怎么正确传上下文
现象#
同一个商品在不同市场显示的价格与文案一样,切换语言也没生效。
原因#
- 没有使用
@inContext(country:, language:)指令 - 国家代码用了小写或
US以外的格式 - 语言代码与店铺已发布语言不匹配
- cart 的 buyerIdentity 与查询上下文不一致
处理步骤#
- 所有查询统一加
@inContext(country: $country, language: $language) - 国家用 ISO 3166-1 alpha-2 大写,语言用
ZH-CN/EN - cart 创建与查询使用同一组上下文参数
- 把上下文放在请求层统一注入,避免遗漏
验收标准#
切换市场后价格、货币、翻译同步变化,cart 结算金额与展示一致。
本文由 风格技术 技术团队整理,适用于 Shopify 标准版与 Plus 店铺。Shopify 平台能力迭代较快,具体操作路径与字段以官方文档和店铺后台实际版本为准。