0

我正在构建具有两个主要功能点的 Shopify 嵌入式应用程序:

  1. 安装后,产品元字段会填充一些值
  2. 页面加载后,通过 shopify ScriptTag api 将自定义脚本注入产品页面

注入的脚本在产品元字段的值旁边显示一些图标。

目前,从产品页面,注入的脚本必须从我的本地服务器请求元字段,然后在发回响应之前查询客户端 shopify。

有没有办法直接从产品页面访问元字段值,而无需执行上述操作?

提前致谢。

4

1 回答 1

2

注入的脚本仅在前端页面加载时触发,而只能通过 Liquid 或 Shopify API 访问元字段。在这种情况下,您现在拥有的数据流是 Shopify 中的标准处理方式。但是,考虑到性能影响或任何原因,如果您仍然想实现这一点,您可以使用 Liquid。

这样做可以通过 2 种方式完成。

  1. 提供 Liquid 代码段
  2. 使用 Shopify API 在应用安装时添加 Liquid 代码段

液体代码片段

用户安装您的应用后,为他们提供 Liquid 代码片段以集成到他们的主题中。该流动代码片段应该将元字段暴露给一些 JavaScript 变量,您的注入脚本将读取该变量。

Shopify API 添加 Liquid 代码段

如果您不希望用户手动集成 Liquid 代码片段,那么在应用程序安装时,使用Theme Assets API将您的 Liquid 代码片段添加到客户端的活动主题中。这将需要用户在安装时获得额外的应用权限。卸载应用程序时,还要考虑不同的可用主题并从主题中删除代码片段。

您尚未提及将在其中创建元字段的资源,但示例 Liquid 代码片段应类似于

<script>
    var customMetaField = {shop.metafields.namespace.fieldname}
</script>

在您的自定义 App 脚本中读取变量customMetaField。这只是一个粗略的想法,您需要检查元字段名称空间和元字段是否存在,然后相应地输出值。

选购元字段

于 2020-06-24T12:29:55.257 回答