Shopify Storefront API

Storefront API 多市场多语言怎么正确传上下文

现象#

同一个商品在不同市场显示的价格与文案一样,切换语言也没生效。

原因#

  • 没有使用 @inContext(country:, language:) 指令
  • 国家代码用了小写或 US 以外的格式
  • 语言代码与店铺已发布语言不匹配
  • cart 的 buyerIdentity 与查询上下文不一致

处理步骤#

  1. 所有查询统一加 @inContext(country: $country, language: $language)
  2. 国家用 ISO 3166-1 alpha-2 大写,语言用 ZH-CN / EN
  3. cart 创建与查询使用同一组上下文参数
  4. 把上下文放在请求层统一注入,避免遗漏

验收标准#

切换市场后价格、货币、翻译同步变化,cart 结算金额与展示一致。

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