在Shopify中能否通过Javascript获取默认店铺的所属国家名称?
该需求可以实现,共有两种常用的实现方案:
- 方案1:直接读取前端全局暴露的Shopify对象
Shopify主题默认会在前端页面注入全局Shopify对象,你可以直接通过JS调用对应属性获取当前店铺的国家信息:
// 获取国家二字码(如CN、US) const countryCode = Shopify.shop.country; // 获取国家完整名称 const countryName = Shopify.shop.country_name;
如果你需要的是多区域(Markets)配置中的默认店铺国家信息,可以使用下方的方案2。
- 方案2:通过Liquid模板注入默认店铺变量到前端
你可以直接在主题的theme.liquid文件的<head>标签内添加如下代码,将Shopify后台配置的默认店铺国家信息直接输出到前端供JS调用:
<script> // 注入默认店铺国家信息到全局window对象 window.defaultShopCountryCode = "{{ shop.country | escape }}"; window.defaultShopCountryName = "{{ shop.country_name | escape }}"; // 如果你启用了Shopify Markets多区域功能,要获取多区域配置中的默认市场国家可以启用下方代码 // window.defaultMarketCountryName = "{{ shop.markets.default.country_name | escape }}"; </script>
注入完成后,你可以在任意JS代码中直接读取window.defaultShopCountryName拿到默认店铺的国家名称。
注意事项:如果你的JS脚本加载优先级高于Shopify全局对象的注入时机,建议添加加载判断逻辑,避免出现未定义报错:
if (window.Shopify) { const defaultCountryName = Shopify.shop.country_name; }
内容的提问来源于stack exchange,提问作者Mars
相关产品推荐
相关产品推荐

