Drupal 9 Webform 模块 - 简要教程

已发表: 2022-10-31

您已经看过它们,已经使用过它们,现在您将学习如何在 Drupal 中轻松构建它们。 由于收集表单数据对任何组织都非常重要,因此拥有灵活、可定制且功能丰富的表单系统至关重要。

还有什么比我们自己的 Webform 模块更好的呢? Drupal 9 Webform 模块是一个贡献模块,是 Drupal 中最强大和最灵活的模块之一。 它是一个用于构建表单和管理提交的开源模块。 Drupal Webform 也进入了我们的顶级 Drupal 模块列表,您的下一个 Drupal 项目绝对需要这些模块! 在这个 Drupal 9 webform 教程中了解更多关于自适应模块的信息。

Drupal 9 网络表单模块

源自 Drupal.org/Webform 的 Webform 徽标

为什么使用 Drupal Webform 模块?

Drupal Webform 是一个高度通用的模块,用于构建表单并从用户那里提取信息。 例如,您可以使用 Drupal Webform 模块来创建调查、联系表格和反馈表格。 提交后,此模块将允许向用户发送电子邮件,并可以向管理员发送有关提交的通知。 可以选择查看提交、将其发布为节点、页面或块并将结果导出到 CSV 文件中。

  • Drupal Webform 模块是开源的,这意味着它是免费的,您只需要时间来设置和配置表单。
  • 它允许您通过钩子、Webform 处理程序或 Drupal Webform Clientside Validation 模块执行表单验证。 这需要安装客户端验证模块。
  • 这些 Web 表单非常灵活,允许自定义表单中使用的字段。
  • 它在单个安装中提供了许多有价值的选项,例如向用户和管理员发送通知和电子邮件。
  • Drupal Webforms 可以轻松导出提交的结果。 用户可以在管理界面查看提交表单的结果,也可以通过单击单个按钮将结果导出为 CSV 格式。

要更深入地了解 Webform 模块的功能,请查看这篇文章。

Drupal 9 Webform 模块入门

Drupal 社区为我们提供了一些非凡的模块,Drupal Webform 无疑就是其中之一。 Webform 模块的构建者和维护者 Jacob Rockowitz 曾经与我们讨论过 Webform 以及他对 Drupal 社区的贡献。 “每个人都有构建软件的个人风格/风格。 在编写软件 20 年后,我开始接受我喜欢朝着一个目标/项目工作,那就是 Drupal 的 Webform 模块。 同时,我也了解到构建开源软件不仅仅是贡献代码; 它是关于支持和围绕代码创建一个社区。”

非常感谢 Jacob 和 Webform 模块的其他贡献者为我们提供了一个非常有价值的模块。

现在,让我们开始安装 Drupal 9 webform 模块并创建 Webforms。

安装并启用 Drupal Webform 模块

从这里下载 Drupal 9 Webform 模块并启用它。

启用网络表单

要启用 Web 表单,请转到扩展并在 Web 表单类别中,您将看到一个 Web 表单以及复选框(如上所示)。 要使用 Drupal 9 Webforms,请启用Field API、系统模块用户模块。 如果不启用这三个模块,Webform 将无法启用。

Webform 下有各种提供特定功能的选项。 根据您的要求启用它们。

创建一个新的网络表单

要创建新的 Drupal 9 Webform,请启用Webform UIWebform Access 。 Webform UI 为构建和维护 Webforms 提供了良好的用户界面。 Webform Access 控制 Webform 节点。 在启用 Webform Access 之前启用 Webform 节点。 然后转到Structure -> Webforms

添加网络表单

以下是 Web 表单的一些选项。

  • 在第一个选项卡Forms中,您将找到创建的 Web 表单列表。 默认情况下,始终有一个可用的联系表。
  • 提交选项卡中,您可以查看用户提交的表单。
  • 选项选项卡提供了一组预定义的可重用值,可用于单选按钮、复选框和菜单。
  • 配置选项卡中,提供了网络表单的常规设置。
  • 访问选项卡中,您可以创建一组用户并设置该组的权限。
  • 附加组件选项卡中。 您将看到可用于改进 Web 表单功能的模块和插件列表。


创建一个新的网络表单:

  1. 单击添加网络表单
  2. 现在将打开一个选项卡,其中包含标题、描述、类别状态
  3. 为 Web 表单添加标题和关于表单的简短描述。
  4. Status下,您将看到两个选项:打开和关闭。 这意味着如果状态为“打开”,则表单对用户可用,否则关闭。
  5. 编辑完所有选项后点击Save
添加网络表单

向 Drupal 9 网络表单添加字段

当您单击Save时,将打开一个带有 Webform 标题的页面(此处为:Registration)。

登记

  • 要将字段添加到 Web 表单,请单击+添加元素按钮。
  • 您现在将看到一个弹出窗口,其中包含可在 Web 表单中使用的字段列表。

选择元素

  • 要预览元素,请单击右上角的显示预览。 要添加元素,请单击相应元素的添加元素按钮。 现在在页面右侧打开一个弹出窗口..
字段元素

  • 您现在将看到用于编辑标题的选项和该字段的许多高级设置。 完成所有设置更改后,单击“保存”按钮。 单击 Web 表单中所有必填字段的必填复选框。
登记

  • 您可以通过单击顶部的“查看”选项卡查看创建的 Web 表单。 将元素添加到 Web 表单时会自动创建提交按钮。
  • 测试选项卡提供对创建的 Web 表单的测试。 表单字段的值会自动填充随机值。
  • 结果选项卡中,可以查看提交表单的值。 结果选项卡下有三个选项。
提交内容

  1. 提交”选项卡下所有已提交表单的列表。
  2. 提交的结果可以 4 种格式下载 - 分隔文本、HTML 表格、JSON 文档或下载选项卡下的 Yaml 文档。
  3. 您可以在结果的清除选项卡中清除提交的表格。
  • 设置选项卡具有 Web 表单的常规设置,可以根据用户的要求进行更改。
  • Drupal Webform 的配置可以从Export选项卡下载。 显示配置,可以通过单击页面末尾的“下载”按钮进行下载。 它以 Yaml 格式下载,因为 Yaml 配置文件可以轻松导入到另一个 Drupal 实例。

向 Drupal Webform 添加内容

一旦启用 Drupal 9 Webform Node 模块,就会创建一个名为“webform”的内容类型。 它具有标题、正文和 Webform 等字段。 Webform 有一个包含所有创建的 Webforms 的下拉列表。

要将内容添加到 Web 表单,请转到Content > Add content > Webform 。 如前所述,已经存在标题和正文。 您将找到一个标有 Webform 的下拉菜单,其中包含创建的所有 Web 表单的标题名称。

选择网络表单

在此旁边,还有另一个选项称为“Webform 设置”。

网络表单设置

在状态下,有三个选项,打开(保持对用户开放)、关闭(关闭用户表单)和计划(它将提供日期和时间字段,根据提到的日期和时间,表单将保持开放给用户填写)。
您还可以通过使用可用令牌填充默认提交数据字段来提供默认数据。 可以通过单击您可以使用令牌来浏览令牌。 可以通过单击示例链接查看编写令牌的示例。 您可以在结果选项卡下查看所有提交的表格。

将 Drupal 9 Web 表单添加为内容类型中的字段

现在让我们在内容类型中添加 Drupal Webform。

  • 转到结构 > 内容类型 > 管理需要表单的内容类型的字段。
  • 单击添加字段。 在添加新字段中,选择“Webform”。 在“参考”部分下,为该字段添加标签,然后单击“保存并继续”。
  • 在字段设置中,您可以为字段提供允许的值的数量,然后单击“保存字段设置”。
  • 您可以从默认值中选择默认表单,或者单击“保存设置”。
  • 现在转到Contents > Add content并选择具有引用 Webforms 的字段的内容类型。
网络表格注册
  • 从下拉列表中选择此内容所需的表单。 提交的表单可以在该内容的结果选项卡中查看。

将验证码添加到 Drupal Webforms

如今,许多网站都使用 Captcha 来验证用户。 在提交表单之前,它会提供一个问题并要求用户做出回应。 这可以防止机器人通过提交表单和电子邮件(主要是多次)使服务器过载。

Drupal Webform 允许您在创建 Web 表单时添加 Captcha 元素。 Drupal Webform 验证码要求您启用验证码模块。

在表单中添加验证码的步骤:

  • 下载并启用验证码模块。 您还需要启用Image captcha 模块以获取 Captcha 中的图像选项。
  • 转到配置 > 人员 > 验证码模块设置以配置验证码模块。
  • 导航到结构 > 网络表单
  • 单击需要验证码的表单的构建。
  • 单击添加元素并展开高级元素。 展开时,可以查看高级元素列表。 单击验证码的添加元素以添加验证码。
高级元素

  • 单击添加元素将在右侧打开一个设置窗口。 选中管理员模式框,以便管理员可以调试和查看验证码。
  • Challenge 类型为您提供 2 个选项 - MathImage 。 您可以选择任何一项。 然后单击保存和保存元素。 如果您在此处看不到图像选项,则需要启用图像验证模块。
  • 在字段类型Webform的内容类型中添加字段,并参考添加验证码的表单。
  • 现在转到内容 > 添加内容> 和内容类型,其中包含一个引用表单的字段。
  • 填写标题并保存内容。 现在,当您查看内容时,将发布表单以及验证码。 在单击提交按钮之前,应填写验证码字段,否则表单将不会被提交并给出警告消息。
演示