【问题标题】:Shopify Storefront API: Getting metafields from page or collectionShopify Storefront API:从页面或集合中获取元字段
【发布时间】:2020-06-08 02:29:55
【问题描述】:

我正在尝试通过 Shopify Storefront API 和 GraphQL 从页面和集合中获取元字段。

但是,这似乎是不可能的。浏览“可查询对象”页面,“元字段”并未列为页面或集合中的字段。如此屏幕截图所示,GraphiQL 还表示它不存在。我直接从产品中获取元字段的部分复制了代码。

真的可以吗?对我来说这似乎很奇怪,应该不可能得到那些元字段,但我就是找不到方法。

我想要的只是能够从特定的集合或页面中获取网站的一些不同部分的文本。

【问题讨论】:

    标签: collections graphql shopify graphiql


    【解决方案1】:

    Storefront API 仅支持 Product 和 ProductVariant 对象的元字段。

    您可以在此处参考他们的文档:https://shopify.dev/docs/storefront-api/reference/object/metafield


    更好的方法是创建一个自定义集合布局,您可以在其中输出带有液体的元字段。

    例子:

    您创建一个新的集合布局:collection.meta.liquid

    其中包含以下代码:

    {%- layout none -%}
    {{- collection.metafields.namespace | json -}}
    

    collection.liquid

    在集合内部(或者您可以使用不同的文件,但您需要知道集合 url 以便在末尾添加 view= 参数):

    <script type="text/javascript">     
      fetch('{{collection.url}}?view=meta')
        .then(res => res.json())
        .then(res => console.log(res))
    </script>
    

    您将获得具有该特定命名空间的元字段。

    【讨论】:

      猜你喜欢
      • 2018-10-11
      • 2021-02-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-08
      • 2020-06-05
      • 1970-01-01
      相关资源
      最近更新 更多