You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Shopify Theme App Extension嵌入块中获取店铺信息?

在Shopify Theme App Extensions嵌入块中获取店铺信息的方法

下面是几种直接可行的方案,帮你快速拿到店铺相关数据:

1. 利用Shopify全局前端变量

Shopify店铺的前端页面默认会加载Shopify全局对象,里面包含基础的店铺公开信息,无需额外配置就能直接在JS中调用:

// 获取店铺的myshopify域名,比如your-store.myshopify.com
const shopDomain = Shopify.shop;
// 获取店铺当前使用的货币信息
const currencyCode = Shopify.currency.active;
// 获取店铺的本地化设置
const locale = Shopify.locale;

2. 通过Liquid模板直接注入店铺完整数据

在你的Theme App Extension嵌入块的.liquid文件中,直接使用Shopify的shop对象,通过json过滤器把数据转为JS可读取的格式:

<!-- 在嵌入块的Liquid文件中添加这段代码 -->
<script>
  // 将完整的店铺对象转为JS变量
  const shopInfo = {{ shop | json }};
  
  // 调用示例:获取店铺名称、ID、域名
  console.log('店铺名称:', shopInfo.name);
  console.log('店铺ID:', shopInfo.id);
  console.log('店铺域名:', shopInfo.domain);
</script>

这种方式能拿到shop对象的所有公开属性,包括店铺名称、邮箱、时区、货币设置等,完全满足前端业务需求。

3. 如需私密/后端数据:通过应用后端接口获取

如果需要一些前端无法直接访问的私密数据(比如店铺的特定配置、应用关联的店铺数据),可以:

  • 在嵌入块的Liquid中输出店铺的myshopify域名作为请求标识:
    <script>
      const shopOrigin = "{{ shop.myshopify_domain }}";
      // 调用你的应用后端接口
      fetch(`/api/shop-info?shop=${shopOrigin}`)
        .then(res => res.json())
        .then(data => {
          // 处理后端返回的店铺相关数据
          console.log('后端返回的店铺数据:', data);
        });
    </script>
    
  • 后端通过Shopify的API验证请求合法性后,返回所需数据。

内容的提问来源于stack exchange,提问作者Saif Chaudhry

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 19:57:38