创建表单模板

:bookmark: 本指南介绍如何使用表单模板来构建 Discourse 中的内容结构。

:person_raising_hand: 所需用户级别:管理员

表单模板允许您创建带有验证规则的结构化表单,用户在创建主题时可以填写这些表单,以便您可以确保用户提供您希望或需要支持他们的所有信息,例如用于错误报告、功能请求等。

注意: 对于功能更像指南而非结构化表单的模板,请考虑使用主题模板

启用表单模板

您可以通过在 即将进行的更改 中将 启用表单模板 设置为“所有人”来开启表单模板。

创建表单模板

您可以通过转到 管理 > 外观 > 表单模板 (/admin/customize/form-templates) 来创建和管理表单模板。

要创建表单模板:

  1. 点击 新建模板

  1. 更新 模板名称 字段,为其提供一个内部名称。

  2. 使用页面顶部的按钮来添加各种表单字段,并更新字段属性(详见下文)。许多选项是标准的表单字段类型(例如,复选框、简短回答、下拉列表等),但有几个特定字段:

    • 标签组选择器: 用户可以从特定组中选择一个或多个标签。

    • Markdown 回答: 用户可以直接在作曲器(composer)的迷你版本中添加内容。这非常适合需要成员直接输入 Markdown(例如代码)或需要富文本编辑器支持的其他格式的场景。

  3. 为您的输入添加任何所需的验证。点击 验证 按钮以获取一个键(也显示在下方)。

  4. 点击 预览 按钮以确保一切看起来正确。

  5. 点击 保存

字段属性

所有字段类型的通用属性:

  • label: 可见的字段名称
  • placeholder: 显示在空字段(输入框、文本域、下拉列表、多选)中的帮助文本
  • description: 显示在字段下方的附加上下文或说明。

上传特定的属性:

  • file_types: 允许的文件扩展名列表(用逗号分隔,例如 .jpg, .png, .pdf
  • allow_multiple: 布尔值,指示用户是否可以上传多个文件

下拉列表和多选属性:

  • none_label: 未选择任何选项时显示的文本
  • choices: 可用选项的数组

验证选项

类型 描述
required boolean 要求填写该字段才能提交表单。
minimum integer 对于文本字段,指定允许的最小字符数。
maximum integer 对于文本字段,指定允许的最大字符数。
pattern regex; string 对于文本字段,指定允许输入的正则表达式。
type string 对于输入字段,您可以指定应预期的输入类型(text, email, date, number, url, tel, color

将表单模板添加到类别

创建模板后:

  1. 导航到您想要使用该模板的类别。
  2. 点击 :wrench: 按钮编辑类别。

  1. 切换 高级设置 按钮(如果使用的是新的简化类别设计)。
  2. 转到 模板 选项卡。
  3. 打开 表单模板 开关。
  4. 在下拉菜单中选择表单模板。
  5. 点击 保存类别

当一个类别分配了多个模板时,用户在创建主题时会看到一个模板选择器。

成员体验

使用表单模板创建主题

当成员在应用了表单模板的类别中创建主题时,表单会自动出现在作曲器中。如果同一个类别应用了多个模板,成员可以从下拉列表中选择正确的模板。如果用户尝试在未准确填写每个字段的情况下创建主题,他们将看到验证错误。

预填充表单值

可以使用与字段 ID 匹配的 URL 参数预先填充表单字段。例如:/new-topic?software-version=2.4.1&severity=Critical

这对于链接到主题创建并已填充某些字段的情况非常有用。