如何在Gatsby中获得Drupal网络表单(反应)

时间:2019-05-22 07:29:16

标签: reactjs drupal drupal-8 drupal-webform

我计划使用Gatsby(反应)建立一个完全解耦的Drupal 8站点。因此,我将仅使用Drupal来构建(内容类型,段落),输入和更新所有内容和数据,并使用React(和Gatsby)作为前端。

网站还需要一个(简单的)表格。我将为此使用webform module

但是如何在Gatsby(反应)中获得Drupal表单,并在提交后如何将所有完成的字段发送到数据库?

4 个答案:

答案 0 :(得分:0)

如果您正在寻找一种非常简单的表单,请考虑在Netlify上免费托管您的Gatsby网站,并使用Netlify表单。将任何字段添加到表单中(Captcha也是一个好主意),只需将Netlify标记添加到表单本身,然后Netlify会将其存储在您的管理面板中。

<form name="contact" method="POST" data-netlify="true">

谨慎选择https://www.netlify.com/docs/form-handling/

答案 1 :(得分:0)

疯狂:)听起来像是早期采用者的方法。 Gatsby非常适合静态内容,但涉及动态内容(包括表单,提交,错误验证)时,那就好运了,因为直到您掌握了绝密的JS JEDI知识,我们才可以看到您。几年:)

答案 2 :(得分:0)

通过将Webform添加到Webform节点,您可以通过jsonapi从React访问Webform。

在“添加内容”中,选择内容类型“ Webform”,然后从所见即所得编辑器下方的下拉列表中选择表单名称,发布节点并记录ID。

请求将如下所示:

http://dev.local.com/jsonapi/node/webform?filter[nodeID][condition][path]=drupal_internal__nid&filter[nodeID][condition][value]=177007

答案 3 :(得分:0)

有一个名为Gatsby Drupal Webform的Gatsby插件,可以在Drupal 8中公开使用Webform模块制作的表单。在Drupal中,还需要模块Gatsby Webform Backend作为依赖项。