使用 Gutenberg 表单通过块编辑器构建表单

已发表: 2020-06-16

对完美表单插件的追求几乎与 WordPress 一样古老。 项目来来去去。 那里有一些很棒的表单插件,但很多时候选择是在以自己的方式做事的大型构建者和简单到无法达到预期的解决方案之间进行选择。 Munir Kamal 通过 Gutenberg Forms 进入这个饱和的市场,这是一个专为在块编辑器中构建表单而设计的插件。

该插件绝不是完美的。 它有许多怪癖。 它做了很多正确的事情。 它有时会因可能改变游戏规则的功能而失败。 它有可能成为 WordPress 最好的表单构建插件之一。

从最新的更新版本 1.4.0 开始,Gutenberg Forms 的成功和挫败感参差不齐。 我很兴奋。

我很兴奋,因为我们仍处于该插件生命周期的早期阶段。 我很兴奋,因为 Kamal 在短时间内建立了一些成功的 Gutenberg 相关项目,包括 Gutenberg Hub 和 ACF Blocks。 我很兴奋,因为我相信它会随着时间的推移而改善。

表单插件并不容易。 尽管我们将解决当前的问题,但 Gutenberg Forms 是一个有用的插件,它勾选了我希望在表单构建器中看到的许多框。 基于块的表单所需的想法已经到位。 执行只需要一些改进。

Gutenberg Forms 于今年 2 月重新创建。 Kamal 最初于 2018 年发布了该插件,但在他使用最新的 API 更新之前,它搁置了一年半。 从那时起,他一直在流泪,发布频繁的更新并改进插件的工作方式。 几个月前我第一次测试它,对结果不满意。 然而,最新的迭代显示出更多的希望。

目前只有 200 多个用户,插件最需要的是来自更多用户的更多反馈。

建筑形式

使用 Gutenberg Forms 插件创建标准表单。
创建标准表格。

Gutenberg Forms 使表单构建变得简单。 在插件中有两种构建表单的方法。 第一种方法是管理员中的自定义“表单”屏幕。 它是一种自定义帖子类型,就像帖子或页面一样工作。 不同之处在于用户仅限于添加插件提供的表单字段。 使用这种构建表单的方法是理想的,因为表单保存在一个地方,并且可以在站点的任何地方使用。

第二种方法是直接从帖子或页面编辑器构建表单。 所有插件的自定义块都可用于创建自定义表单。 对于一次性表单,这可能是要使用的方法,但我建议改为从表单屏幕构建。

通过表单屏幕构建表单后,用户可以稍后使用古腾堡表单块插入保存的表单。 插入此块时实际发生的是,在选择保存的表单时,插件将在编辑器中插入短码。 这是插件的怪癖之一。 构建块的想法之一是让开发人员不再使用短代码系统。 从技术角度来看,无需在此处混入短代码。 它应该只是一个服务器端块。 我认为这对最终用户来说并不重要。 有用。 我希望从长远来看,这只是一个奇怪的现象。

使用 Gutenberg Forms 插件将保存的表单插入页面。
将保存的表单插入页面。

该插件提供了最终用户希望在表单插件中看到的大多数常见表单字段。 以下是当前可用的表单域块:

  • 计算
  • 复选框
  • 日期选择器
  • 电子邮件
  • 文件
  • 表单按钮
  • 信息
  • 名称
  • 数字
  • 电话
  • 收音机
  • 选择
  • 文本
  • 网站
  • 是/否

Gutenberg Forms 还包括其他不用于输出字段的块。 表单列块允许最终用户创建列字段。 这适用于需要水平排列的字段,例如城市、州和邮政编码字段。 表单组块允许用户对多个块进行分组。 它还具有多种设计选项,包括自定义颜色和填充。 表单步骤块对于在多步骤表单中添加步骤很有用。

最大但最不完善的功能是 Gutenberg Forms 提供的预先设计的模板库。 目前,该插件有大约三打自定义模板。 鉴于 Kamal 在 Gutenberg Hub 使用模板的工作,我猜想我们将来会看到更多模板。

使用 Gutenberg Forms WordPress 插件将表单模板插入页面。
将表单模板插入页面。

问题? 表单模板插入器并不总是有效。

针对最新的 WordPress 和 Gutenberg 插件测试插件,我无法通过新的表单屏幕插入任何表单模板。 存在阻止插入它的 JavaScript 错误。 该插件最令人兴奋的功能之一无法运行,至少在我的测试环境中,有点令人失望。

虽然在表单构建屏幕上插入模板不起作用,但在页面编辑屏幕上构建一次性表单时它确实起作用。 但是,对于某些插入后的块,我确实收到了可怕的“此块包含意外或无效内容”消息。

这个问题并非不可克服。 古腾堡项目处于不断变化的状态。 我现在原谅这些类型的问题,因为事情如此不稳定,而且我也知道它们可以在更新中得到解决。 但是,我确实想为可能需要在其生产环境中更完善的东西的用户指出它们。 您可以在没有模板功能的情况下轻松构建表单。

最后的想法

是的,Gutenberg Forms 的边缘有点粗糙。 它还不能与表单市场中的其他一些主要参与者竞争。 然而,从现在开始的六个月或一年后,假设持续改进,它应该能够开始切自己的一块馅饼。

该插件还有一些其他的挑剔。 例如,某些块可用的“内联”块样式无法重置为默认值。 Checkbox 块名称中的“C”是小写的,而所有其他块名称都以大写字母开头。 这些小事情使插件看起来不如它本身那么精致。

即使有我概述的问题,我还是建议市场上的人们使用基于块的表单构建器来测试这个插件。 它的简单性将使其成为许多人的简单选择。 在大多数情况下,它运作良好。 归根结底,它允许您构建表单并将这些表单的提交直接存储在数据库中,这才是真正重要的。

我坚信我们正处于一些特别的开始。 在我们到达那里之前只需要一点时间。 即使 Gutenberg Forms 没有接管表单构建器市场,其他插件开发人员也应该开始从这个插件的工作中获取线索。