如何在Shopify APP中使用元字段值

时间:2019-01-22 05:29:02

标签: shopify shopify-app

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

{{shop.metafields.AnnexCloud.access_token}}

使用上述语法获取正确的值。 但是当我尝试通过上述语法访问APP文件中的Metafield时遇到问题。

我正在使用python创建新的shopify公共APP。在要使用

的访问元字段中
{{shop.metafields.AnnexCloud.access_token}}

所以,请帮帮我。

谢谢

1 个答案:

答案 0 :(得分:0)

我不确定您通过应用程序访问该元字段的意思是什么-在很多地方您可能会尝试使用该值,所以我将在这里尝试介绍一些基础知识。

如果您尝试访问Python代码中的元字段

您的应用程序未在Shopify的服务器上运行,并且没有任何Liquid代码的本机概念。但是,由于您的应用程序在服务器上运行,并且可以访问用于存储所需数据的任何数据库,因此您无需访问此元字段-您应该已经保存了所有需要的信息。

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

如果您尝试访问应用程序前端代码中的元字段

很遗憾,您无法将液滴注入商店/assets文件夹内的任何文件中(如果您在其中写入任何文件),也不能将液滴放入其中您的应用通过content_for_header加载的所有资产。

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

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

希望这会有所帮助!