首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在提交Netlify表单后创建Netlify CMS集合文件?

如何在提交Netlify表单后创建Netlify CMS集合文件?
EN

Stack Overflow用户
提问于 2019-03-31 23:42:23
回答 1查看 1.1K关注 0票数 0

我目前有一个GatsbyJS应用程序,它使用Netlify CMS (NCMS)进行内容管理,使用Netlify通过GitHub托管/部署。

我想构建一个非常简单的订单系统,但是我想使用JSON文件和NCMS集合来表示数据,因为我的数据需求非常小,我希望能够完全通过NCMS来管理数据。

例如,我有一个Products集合和一个Orders集合。Products使用JSON扩展名并包含代表每个产品的JSON文件。那里一切都很好。对于Orders,我希望能够从新NCMS或从我的应用程序中的订单创建新条目。

在NCMS中创建Orders条目应该非常简单,使用关系小部件将Products条目合并到每个订单中。我想弄清楚的是如何在表单提交时在我的文件系统(repo)中创建JSON文件。我认为这在某种程度上与GitHub webhooks是可能的,因为当您在他们的系统中创建文件时,NCMS就是这样做的。

当用户在我的应用程序中提交Netlify表单时,我可以使用Netlify的Forms API、Netlify函数和/或GitHub webhooks的一些组合在我的GitHub存储库中创建一个文件吗?

如果这是不可能的,我的后续策略是将Orders数据保存在MongoDB数据库中。我还没有使用Mongo的经验,但我知道它基于使用类似于JSON的语法的“平面”数据格式。我是否可以通过Netlify Lambda函数将我的订单数据保存在Mongo集合中,然后通过Netlify触发构建,并在我的应用程序中在构建时拉进Mongo数据,并以某种方式为每个订单对象创建一个文件,也许是通过Gatsby的API?

我的最后一招是在我的应用程序中设置一个管理员区,在那里可以查看、修改和删除订单。我宁愿避免这样做,因为( a)我没有Netlify Pro服务,因此无法访问受密码保护的站点访问(虽然我不确定NCMS如何利用身份并能够避免额外的计划?)和( b)我希望所有的数据管理都通过同一个平台(Netlify CMS)进行。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-01 05:59:21

您肯定可以使用Netlify表单、Function&GistubAPI来完成这一任务。我为我的一个gatsby站点做了类似的事情,其中表单数据直接提交给Netlify函数。

如果您想利用Netlify表单的功能,如垃圾邮件预防和电子邮件通知,我认为它应该如下所示:

  • 设置您的Netlify表格
  • 设置一个侦听submission-created事件的submission-created。在请求的正文中,您将找到一个包含表单数据的payload对象,以及关于您的站点的信息(以防您有很多表单数据)。Netlify有一个真正简化开发过程的套餐
  • 触发对Github API的调用,以创建该提交的文件或更新包含所有提交的现有文件。
  • 此时,您可以设置netlifyCMS来读取该文件夹/文件的内容&允许管理员检查/修改提交的内容。

希望能帮上忙!

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55446456

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档