Storefront API 多语言上下文币种不对怎么处理
现象#
站点切到某个市场后,接口返回的价格仍是本币;或者语言变了,商品标题还是默认语言。
原因#
- 请求头没有携带
@inContext,接口按店铺默认市场返回 - 只传了
language没传country,币种不会随语言切换 - 国家代码用了小写或三位码,未被识别
处理步骤#
- 在查询里显式传上下文:
query @inContext(country: DE, language: DE) { ... } - 国家用 ISO 两位大写码,语言用
ZH、EN这类代码 - 把当前市场状态存进全局 store,所有请求统一带上,避免各页面不一致
- 验证时对比
price.currencyCode与页面展示币种是否一致
验收标准#
切换市场后接口返回对应币种与语言;商品、购物车、结账三处币种一致。
本文由 风格技术 技术团队整理,适用于 Shopify 标准版与 Plus 店铺。Shopify 平台能力迭代较快,具体操作路径与字段以官方文档和店铺后台实际版本为准。