小编Mis*_*a S的帖子

GraphQL查询Gatsby-具有灵活内容模型的内容丰富的设置

我有一个gatsby网站,其中包含内容丰富的插件graphql查询(安装程序正在运行)。

[编辑]我的gatsby安装程序使用pageCreate功能动态提取数据。并填充我的模板组件,这是我在下面共享的根graphql查询。如果有内容的页面遵循以下查询中给出的结构,则可以使用安装程序创建多个页面。[/编辑]

我的问题是我似乎遇到了一个限制,或者只是不了解足够的grpahql来理解这一限制。

我的高级内容模型“ BasicPageLayout”包含通过“部分”字段对其他内容类型的引用。因此,在“ BasicPageLayout”中包含哪些内容类型以及添加顺序方面,它很灵活。

根页查询

export const pageQuery = graphql`
query basicPageQuery {
contentfulBasicPageLayout(pageName: {eq: "Home"}) {

    heroSection {
        parent {
            id
        }
        ...HeroFields
    }

    section1 {
        parent {
            id
        }
        ...ContentText

    }

    section2 {
        parent {
            id
        }
        ...ContentTextOverMedia
    }

    section3 {
        parent {
            id
        }
        ...ContentTextAndImage
    }

    section4 {
        parent {
            id
        }
        ...ContentText
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

内容类型的片段全部都存在于相应的UI组件中。上面的查询和设置正在运行。

现在,我已经对“ Home”进行了硬编码,因为在创建灵活的可重用查询时遇到了麻烦。在创建模型时,我利用了contentful的灵活性,但是还没有找到在graphql查询中创建这种灵活性的方法。

我所知道的: Graphql查询在运行时已解决,因此所有需要提取的内容都应该在该查询中。它不能是“动态的”。

问题: basicPageLayout中的“ Section”字段可以链接到任何内容类型。因此,我们可以混合和匹配粒度级别的内容类型。如何添加内容类型片段(如ContentTextAndImage与ContentText),使其适合该部分实例(查询中的“ Section”字段)?

换句话说, 我希望根查询获取“家”数据,该数据可能有4个部分,所有类型都是-ContentTextOverMedia,而“关于”数据可能也有4个部分,但类型交替-ContentText和ContentTextAndImage …

contentful graphql gatsby

4
推荐指数
1
解决办法
1006
查看次数

标签 统计

contentful ×1

gatsby ×1

graphql ×1