是否可以在GatsbyJS中使用带有布局/页面构建器的CMS?

时间:2018-09-21 09:03:43

标签: api plugins content-management-system headless gatsby

目前,我正在设计和开发自己的产品组合。我网站上的大多数页面(除了作品集部分)都是静态的,永远不会使用新内容进行更新或需要新的布局。因此,在我尝试使用的几乎所有CMS(Strapi,Contentful,Netlify等)中,分配这些字段都很容易

但是,一旦我点击了页面,便遇到了一个大问题,需要灵活地更改页面的布局。 (作品集)

例如,在一个投资组合中,我可能需要此页面中的5个部分:英雄,文本部分,图像部分,滑块,图像部分和另一个文本部分。

在我的下一个作品集上,我可能需要做更多的工作,并且需要做一个:英雄部分,一个接一个的四个图像部分,一个滑块,一个文本部分,然后用另一个图像部分作为结束。

请记住,每个“部分”都有其自己独特的代码来显示其中的内容。因此,使用“所见即所得”是不可行的。

任何人都知道我可以与我的Gatsby网站一起使用的CMS,该CMS允许后端的用户以他们想要在特定页面上创建灵活布局的顺序来交换(拖放)部分。< / p>

想到这就像ACF的Wordpress灵活内容字段

4 个答案:

答案 0 :(得分:2)

您实际上可以通过Contentful做到这一点。

通常使用标准CMS构建页面。有了内容,您就可以定义内容模型。无需构建页面内容模型,而是为每个组件构建一个内容模型。因此,您将拥有英雄,文本部分,图像部分,滑块,图像部分和另一个文本部分的内容模型。然后,您将创建一个页面内容模型,该页面将专门接受您创建的那些内容模型的引用。

最终看起来像这样:contentful app view

现在,当您要重新安排站点时,只需拖放这些组件,即可按照您所描述的那样修改顺序。您需要设置Gatsby渲染器以询问要获取的组件类型,然后根据该组件渲染该组件,但是您要描述的内容完全可以通过Contentful实现。我们在Contentful site上发布了一些与此有关的更多信息,您可以查看这些信息,希望会对您有所帮助!

答案 1 :(得分:2)

事实证明,最好的CMS最好是DatoCMS

答案 2 :(得分:1)

我不隶属于Prismic,但是我很高兴

Prismic.io提供了这样的功能,他们称之为 Slices

  

例如,在一个投资组合中,我可能需要此页面中的5个部分:英雄,文本部分,图像部分,滑块,图像部分和另一个文本部分。

然后您将为这些类型创建切片,并在您的自定义类型中定义您的投资组合部分应具有切片区域

关于盖茨比: 然后,您将创建Slice components并在component中进行检查,以接收此 Slice Zone 作为道具。

这里是另一个示例:https://github.com/levimykel/gatsby-website

答案 3 :(得分:0)

ButterCMS是无头CMS,它为您提供了自定义页面的灵活性,并且可以与Gatsby完美同步。这是一个供您参考的教程:https://buttercms.com/blog/how-to-use-gatsby-with-a-headless-cms