Drupal 8 Webform 模块 - 简要教程
已发表: 2020-04-07Drupal 8 Webform 模块是一个贡献模块,是 Drupal 8 中最强大、最灵活的模块之一。它是一个开源模块,用于构建表单和管理提交。 Drupal Webform 也进入了我们的顶级 Drupal 模块列表,您的下一个 Drupal 项目绝对需要这些模块! 在此 Drupal 8 网络表单教程中了解有关多功能模块的更多信息。
Drupal Webform 是一个高度通用的模块,用于在 Drupal 网站中构建表单并从用户那里提取信息。 例如,我们可以使用 Drupal 网络表单模块来创建调查、联系表单、反馈表单等等。 提交后,该模块将允许向用户发送电子邮件,并可以向管理员发送有关提交的通知。 可以选择查看提交,将其发布为节点、页面或块并将结果导出到 CSV 文件中。

源自 Drupal.org/Webform 的 Webform 徽标
Drupal 8 Webform 模块入门
Drupal 社区为我们提供了一些非凡的模块,Drupal Webform 无疑是其中之一。 Webform 模块的构建者和维护者 Jacob Rockowitz 曾经与我们讨论过 Webform 以及他对 Drupal 社区的贡献。 “每个人都有自己的构建软件的习惯/风格。 在编写软件 20 年后,我开始接受我喜欢朝着单一目标/项目工作,即 Drupal 8 的 Webform 模块。同时,我也了解到构建开源软件不仅仅是贡献代码; 它是关于支持和围绕代码创建一个社区。“在此处阅读有关 Jacob 和更多 Drupal 社区贡献者的更多信息。
现在,让我们开始安装 Drupal 8 webform 模块并创建 Webforms。
安装并启用 Drupal Webform 模块
从 https://www.drupal.org/project/webform 下载 Drupal 8 Webform 模块并启用它。

要启用网络表单,请转到“扩展”,然后在网络表单类别中,您将看到一个带有复选框的网络表单。 为了使用 Drupal 8,webforms 启用了 Field API、系统模块、用户模块。 如果不启用这三个模块,则无法启用 webform。
webform 下有许多提供特定功能的选项。 根据要求启用它们。
创建一个新的 Drupal Webform
要创建新的 Drupal 8 webform,请启用 Webform UI 和 Webform Access。 Webform UI 提供了一个很好的用户界面来构建/维护 webforms 和 Webform Access 控制 webform 节点。 在启用 Webform Access 之前启用 Webform Node。 然后转到Structure > Webforms 。

以下是网络表单的一些选项。
- 在第一个选项卡中,表单是创建的网络表单列表。 默认情况下,有一个联系表单。 这是 Webform 模块提供的模板。
- 第二个选项卡模板中有更多模板。
- 在提交选项卡中,我们可以查看用户提交的表单。
- 选项具有一组预定义的可重用值,可用于单选按钮、复选框和菜单。
- Add-ons 选项卡中还有一些可重用的值。
- 在配置中,提供了网络表单的一般设置。
要创建新的网络表单 -
- 单击添加网络表单。
- 单击添加网络表单时,将打开一个带有标题、描述、类别和状态的选项卡。
- 为网络表单添加标题和关于网络表单的简短描述。
- 最后,在状态下,有两个选项打开和关闭。 这意味着如果状态为“打开”,则用户可以使用该表单,否则该表单已关闭。 编辑完所有选项后,单击Save 。 例如,这里的标题是“注册”。

向 Drupal 8 网络表单添加字段
单击“保存”后,将打开一个页面,其中包含给定的网络表单标题(此处 – 注册)。

● 要将字段添加到网络表单,请单击 +添加元素。
● 单击+添加元素时,会弹出一个带有可在网络表单中使用的字段列表的弹出窗口。

要预览元素,请单击右上角的显示预览。 要添加元素,请单击相应元素的添加元素。 单击时,弹出窗口会在页面右侧打开。

这里有编辑标题名称的选项和该字段的许多高级设置。 完成所有设置更改后,最后单击“保存”按钮。 单击网络表单中所有必填字段的必填项下的复选框。
● 您可以通过单击顶部的“查看”选项卡查看创建的网络表单。 提交按钮是在向网络表单添加元素时自动创建的。
●测试选项卡提供对创建的网络表单的测试。 表单字段的值自动填充随机值。
● 在结果选项卡中,可以查看提交表单的值。 结果选项卡下有三个选项。
- 提交选项卡下所有已提交表单的列表。
- 提交的结果可以以四种格式下载 - 下载选项卡下的分隔文本、HTML 表格、JSON 文档或 Yaml 文档。
- 可以在结果的清除选项卡中清除提交的表单。
● Settings 选项卡具有Webforms 的一般设置,可以根据用户的要求进行更改。
● Drupal webform 的配置可以从导出选项卡下载。 配置将显示出来,可以通过单击页面末尾的“下载”按钮进行下载。 配置以Yaml格式下载,因为Yaml 配置文件可以轻松导入到另一个 Drupal 实例。
向 Drupal Webform 添加内容
一旦启用 Drupal 8 Webform 模块,就会创建一个名为“ webform ”的内容类型。 它有标题、正文和网络表单等字段。 网络表单有一个下拉列表,其中包含所有创建的网络表单。
要将内容添加到网络表单,请转到内容 > 添加内容 >网络表单。 如前所述,会有一个标题和正文。 有一个标签为Webform的下拉菜单,其中包含所有创建的 Web 表单的标题名称。

旁边还有另一个选项,称为“网络表单设置”。

在Status 中,有三个选项, Open (保持对用户开放)、 Closed (对用户关闭表单)和Scheduled (它将提供日期和时间字段,并根据提到的日期和时间,表单将保持开放给用户填写)。
您还可以通过使用可用令牌填充默认提交数据字段来提供默认数据。 可以通过单击浏览可用令牌来浏览令牌。 单击示例链接可以查看编写令牌的示例。 并且可以在Result选项卡下查看所有提交的表单。
将 Drupal 8 Webform 添加为内容类型中的字段
● 要在内容类型中添加 Drupal 网络表单,请转到结构 > 内容类型 > 管理需要表单的内容类型的字段。

● 单击添加字段。 在“添加新字段”中,选择“引用”部分下的“网络表单”,为该字段添加标签,然后单击“保存并继续”。
● 在字段设置中,可以给出字段允许的值数量,然后单击“保存字段设置”。
● 您可以从默认值中选择默认表单,或者单击“保存设置”。
● 现在转到Contents > Add content并选择具有引用 webforms 的字段的内容类型。

● 从下拉列表中选择此内容所需的表单。 可以在该内容的结果选项卡中查看提交的表单。
在 Drupal Webforms 中添加验证码
您一定已经看到 Captcha 在许多网站中被广泛使用。 在提交表单之前,它会提供一个问题并要求用户做出回应。 这可以防止机器人通过提交许多表单和电子邮件来使服务器过载。
Drupal Webform 允许您在创建 Web 表单时添加 Captcha 元素。 Drupal webform captcha 要求您启用 Captcha 模块。
在表单中添加 Drupal webform Captcha 的步骤:
● 从www.drupal.org/project/captcha下载并启用验证码模块。
● 导航到Structure > Webforms 。
● 单击需要验证码的表单的构建。
● 单击添加元素并展开高级元素。 通过展开可以查看高级元素列表。 单击添加验证码元素以添加验证码。

● 单击添加元素将打开右侧的设置窗口。 选中“管理员模式”框,以便管理员可以调试和查看验证码。
● 在挑战类型中,我们有 2 个选项 - 数学和图像。 您可以选择任何一项。 然后单击保存和保存元素。
● 在字段类型Webform 的内容类型中添加字段,并引用添加验证码的表单。
● 现在转到内容 > 添加内容 >和内容类型,其中有一个引用表单的字段。
● 填写标题并保存内容。 当您查看内容时,会发布表单和验证码。 在检查提交按钮之前,应该填写验证码字段,否则表单将不会被提交并给出警告消息。

Drupal Webform 模块的优点
● Drupal Webform 模块是开源的,这意味着它是免费的,您只需要时间来设置和配置表单。
● 您还可以通过钩子、Webform 处理程序或 Drupal Webform 验证模块执行表单验证。 Drupal 网络表单验证模块向您自定义和创建自己的验证规则的节点添加了一个额外的选项卡。
● 这些 Web 表单非常灵活,允许自定义表单中使用的字段。
● 它在单个安装中提供了许多选项,例如向用户和管理员发送通知和邮件。
● Drupal Webforms 可以轻松导出提交的结果。 用户可以在管理界面中查看提交表单的结果,也可以通过单击一个按钮将结果导出为 CSV 格式。
