如何查询棱形切片并从每个切片返回数据

时间:2018-08-23 00:40:49

标签: graphql gatsby prismic.io

我正在尝试使用Gatsby的/ ___ graphq调试器,gatsby-source-prismic的README文件说您可以返回切片。因此,下面我将返回名称为PrismicProductBodySteps的切片。

{
  allPrismicHomePage {
        edges {
          node {
        data {
          seo_title
          body {
            __typename
            ... on PrismicProductBodySteps {
              }
            }
          }
        }
       }
    }
  }
}

有人可以向我解释PrismicProductBodySteps上的...是什么意思吗?

在gatsby组件中,我已将其作为示例。

body {
  ... on PrismicProductsBodySteps {
    ...ProductStepsFragment
}

有人可以向我解释... ProductStepsFragment的意思吗?

1 个答案:

答案 0 :(得分:1)

PrismicProductBodySteps将是代表动态系列内容块的自定义节点类型名称。该自定义节点类型名称来自Prismic数据模型。您的可能会有所不同。

根据gatsby-source-prismic文档,使用自定义节点类型名称要求您先弄清楚它们是什么:

  

获取节点类型的最简单方法是使用/ ___ graphql   调试器并运行以下查询(调整文档类型和字段   名称)。

{
  allPrismicPage {
    edges {
      node {
        id
        data {
          body {
            __typename
          }
        }
      }
    }
  }
}

一旦有了自定义节点类型名称,就可以使用GraphQL片段提取特定于每个片段的数据。同样,这将取决于您如何在数据模型中定义片段,但这看起来像这样:

{
  allPrismicHomePage {
    edges {
      node {
        data {
          seo_title
          body {
            __typename
            ... on PrismicYourContentBlockOne {
              text {
                html
              }
            }
            ... on PrismicYourContentBlockTwo {
              text {
                html
              }
            }
            ... on PrismicYourContentBlockThree {
              text {
                html
              }
            }
          }
        }
      }
    }
  }
}