如何在Shopify应用程序中使用元字段值

如何在Shopify应用程序中使用元字段值,shopify,shopify-app,Shopify,Shopify App,我已经使用API创建了元字段。当前正在访问shopify cart.liquid中的那些元字段,如下所示- {{shop.metafields.AnnexCloud.access_token}} 使用上述语法获取正确的值。 但当我试图通过上述语法访问应用程序文件中的Metafield时,遇到了这个问题 我正在使用python创建新的shopify公共应用程序。在这种情况下,您需要使用 {{shop.metafields.AnnexCloud.access_token}} 所以,请帮帮我 谢谢

我已经使用API创建了元字段。当前正在访问shopify cart.liquid中的那些元字段,如下所示-

{{shop.metafields.AnnexCloud.access_token}}
使用上述语法获取正确的值。 但当我试图通过上述语法访问应用程序文件中的Metafield时,遇到了这个问题

我正在使用python创建新的shopify公共应用程序。在这种情况下,您需要使用

{{shop.metafields.AnnexCloud.access_token}}
所以,请帮帮我


谢谢

我不能100%确定您通过应用程序访问该元字段的意思-有很多地方您可能会尝试使用该值,因此我将尝试在这里介绍一些基本内容

如果您试图访问Python代码中的元字段 你的应用程序没有在Shopify的服务器上运行,也没有任何本机的液态代码概念。但是,由于您的应用程序在服务器上运行,可以访问用于存储所需数据的任何数据库,因此您不需要访问此元字段-您应该已经保存了所需的所有信息

这就是说,如果你的应用程序的要求使你处于需要从应用商店实时读取的位置,你可以使用应用程序的凭据访问
[store domain.myshopify.com]/admin/metafields.json
,将元字段信息输入到你的应用程序中。您也可以优化您的请求-例如,
[the store domain.myshopify.com]/admin/metafields.json?namespace=atuls-app
将只返回
名称空间
atuls-app
的元字段

如果您试图访问应用程序前端代码中的元字段 不幸的是,您无法将液滴放入商店的
/assets
文件夹中的任何文件(如果您正在那里写入任何文件),也无法将任何液滴放入您的应用程序通过
content\u for\u标题加载的任何资产中

但是,对于后一种情况,通过
content\u For_header
加载的脚本将来自您的服务器,因此您可以使用上面列出的任何方法通过服务器的代码/逻辑将该值注入脚本文件

对于前一种情况,当您将文件添加到Shopify主题的
/assets
文件夹时,您只能访问数量非常有限的流动变量(不幸的是
shop
不是其中之一)。为了解决这个问题,您需要在应用程序的安装中向
layouts/theme.liquid
文件添加
script
标记,以保存包含元字段内容的全局变量。任何其他脚本都可以访问该全局变量。(注意:此方法附带了有关使用全局变量的所有常规警告/注意事项)


希望这有帮助

嗨@Dave B实际上我要为不同的模块创建不同的应用程序。但所有应用都需要一些共同的价值观。因此,我创建了一个配置应用程序,用于在元字段中保存公共值,而不是在每个应用程序中保存。让我们考虑一个Meta字段是针对SITeSyID的。现在我需要从我的配置应用程序访问这个SITeSyID到另一个应用程序的前端代码。是否有任何东西阻止您在服务器上拥有一个集中的数据库表,您的所有应用程序都可以针对这些通用值进行对话?我个人的偏好是运行某种中央命令服务,我的所有应用程序都可以与这些通用值进行对话,但我明白这种结构可能并不适用于所有情况。