通过 Shopify ScriptTag 读取产品元字段 API
Reading product metafields through Shopify ScriptTag API
我正在构建一个具有两个主要功能点的 Shopify 嵌入式应用程序:
- 安装后,产品元字段会填充一些值
- 页面加载后,自定义脚本通过 shopify ScriptTag 注入产品页面 api
注入的脚本会在产品元字段的值旁边显示一些图标。
目前,从产品页面,注入的脚本必须从我的本地服务器请求元字段,然后在发回响应之前查询客户端 shopify。
有没有办法直接从产品页面访问元字段值,而无需执行上述操作?
提前致谢。
注入的脚本仅在前端页面加载时触发,而访问元字段只能通过 Liquid 或 Shopify API。在这种情况下,您现在拥有的数据流是 Shopify 中的标准处理方式。但是,考虑到性能影响或出于任何原因,如果您仍然想实现这一点,则可以使用 Liquid。
这样做有两种方式。
- 提供 Liquid 代码片段
- 使用 Shopify API 在 App 安装中添加 Liquid 代码片段
Liquid 代码片段
在用户安装您的应用后,为他们提供一个 Liquid 代码片段以集成到他们的主题中。该流动代码片段应将元字段公开给某个 JavaScript 变量,您的注入脚本将读取该变量。
Shopify API 添加 Liquid 代码片段
如果您不希望用户手动集成 Liquid 代码片段,则在应用程序安装时,使用 Theme Assets API 将您的 Liquid 代码片段添加到客户的活动主题中。这将需要用户在安装时获得额外的应用程序权限。还要考虑不同的可用主题,并在卸载应用程序时从主题中删除代码片段。
您没有提到您将在其中创建元字段的资源,但样本 Liquid 代码片段应该类似于
<script>
var customMetaField = {shop.metafields.namespace.fieldname}
</script>
在您的自定义 App 脚本中读取变量 customMetaField。这只是一个粗略的想法,您需要检查元字段命名空间和元字段是否存在,然后相应地输出值。
我正在构建一个具有两个主要功能点的 Shopify 嵌入式应用程序:
- 安装后,产品元字段会填充一些值
- 页面加载后,自定义脚本通过 shopify ScriptTag 注入产品页面 api
注入的脚本会在产品元字段的值旁边显示一些图标。
目前,从产品页面,注入的脚本必须从我的本地服务器请求元字段,然后在发回响应之前查询客户端 shopify。
有没有办法直接从产品页面访问元字段值,而无需执行上述操作?
提前致谢。
注入的脚本仅在前端页面加载时触发,而访问元字段只能通过 Liquid 或 Shopify API。在这种情况下,您现在拥有的数据流是 Shopify 中的标准处理方式。但是,考虑到性能影响或出于任何原因,如果您仍然想实现这一点,则可以使用 Liquid。
这样做有两种方式。
- 提供 Liquid 代码片段
- 使用 Shopify API 在 App 安装中添加 Liquid 代码片段
Liquid 代码片段
在用户安装您的应用后,为他们提供一个 Liquid 代码片段以集成到他们的主题中。该流动代码片段应将元字段公开给某个 JavaScript 变量,您的注入脚本将读取该变量。
Shopify API 添加 Liquid 代码片段
如果您不希望用户手动集成 Liquid 代码片段,则在应用程序安装时,使用 Theme Assets API 将您的 Liquid 代码片段添加到客户的活动主题中。这将需要用户在安装时获得额外的应用程序权限。还要考虑不同的可用主题,并在卸载应用程序时从主题中删除代码片段。
您没有提到您将在其中创建元字段的资源,但样本 Liquid 代码片段应该类似于
<script>
var customMetaField = {shop.metafields.namespace.fieldname}
</script>
在您的自定义 App 脚本中读取变量 customMetaField。这只是一个粗略的想法,您需要检查元字段命名空间和元字段是否存在,然后相应地输出值。