Shopify Storefront API如何将密钥传递给变体片段?

问题描述 投票:0回答:1

我的 Graphql 上生锈了我正在使用 Shopify 的 Storefront API 版本 2024-10 我有一个查询:

export const getProductQuery = /* GraphQL */ `
  query getProduct($handle: String!) {
    product(handle: $handle) {
      ...product
    }
  }
  ${productFragment}
`

在我的片段中我有:

import imageFragment from './image'
import seoFragment from './seo'

const productFragment = /* GraphQL */ `
  fragment product on Product {
    id
    handle
    availableForSale
    title
    description
    publishedAt
    tags
    descriptionHtml
    variants(first: 250) {
      edges {
        node {
          id
          title
          availableForSale
          selectedOptions {
            name
            value
          }
          price {
            amount
            currencyCode
          }
          metafield {
            key
            namespace
            type
          }
        }
      }
    }
    featuredImage {
      ...image
    }
    images(first: 20) {
      edges {
        node {
          ...image
        }
      }
    }
    seo {
      ...seo
    }
    tags
    updatedAt
  }
  ${imageFragment}
  ${seoFragment}
`

export default productFragment

并且根据

metafield
的文档,我需要传递
key
标识符。

研究

当我不确定所需的密钥应该是什么时,如何从 Shopify 的店面 API 获取变体级别的元字段?

next.js graphql shopify shopify-storefront-api
1个回答
0
投票

您只需将“key”和“namespace”值传递到元字段字段即可。

在管理员中的元字段定义中,您将找到命名空间和键值。它将由 {namespace}.{key} 定义。例如:在您查询时,如果值为“foo.bar”:

variants(first: 250) {
  edges {
    node {
      id
      title
      availableForSale
      selectedOptions {
        name
        value
      }
      price {
        amount
        currencyCode
      }
      metafield(namespace: "foo", key: "bar") {
        key
        namespace
        type
      }
      # you can rename the field if has more metafields to retrive, like
      myCustomField: metafield(namespace: "custom", key: "foo") {
        key
        namespace
        type
      }
    }
  }
}
© www.soinside.com 2019 - 2024. All rights reserved.