您可以使用此链接<中提供的表单插件创建表单/A>.搜索表单插件并将其安装在Grav文件夹中.
您也可以使用命令 $ bin/gpm install Form 安装此插件.导航到Grav的根文件夹并键入此命令.它将自动下载表单插件并安装必要的依赖项.
您可以创建一个可以在其中定义的简单表单页面YAML frontmatter.以下是表格 : 号的示例;
--- title: Contact Form form: name: contact fields: - name: name label: Name placeholder: Enter your name autofocus: on autocomplete: on type: text validate: required: true - name: email label: Email placeholder: Enter your email address type: email validate: required: true - name: message label: Message placeholder: Enter your message type: textarea validate: required: true - name: g-recaptcha-response label: Captcha type: captcha recatpcha_site_key: 6LelOg4TAAAAALAt1CjjjVMxFLKY8rrnednYVbr8 recaptcha_not_validated: 'Captcha not valid!' validate: required: true buttons: - type: submit value: Submit - type: reset value: Reset process: - email: subject: "[Site Contact Form] {{ form.value.name|e }}" body: "{% include 'forms/data.html.twig' %}" - save: fileprefix: contact- dateformat: Ymd-His-u extension: txt body: "{% include 'forms/data.txt.twig' %}" - message: Thank you for getting in touch! - display: thankyou ---
上面的代码显示了包含姓名,电子邮件,消息和Captcha字段的简单表单页面.填写表格后提交信息时,表格将通过将处理字段添加到YAML前端来处理,如代码所示.
进程字段使用以下信息 :
电子邮件选项使用两个来自字段等字段指定电子邮件的发件人,至字段指定邮件的收件人.
主题使用 [反馈] [已输入邮件] 选项,其中将电子邮件发送到输入的电子邮件.
电子邮件的正文在 forms/data.html.twig 文件中指定,该文件存在于主题文件夹中.
表单输入数据存储在 user/data 文件夹下.模板在 forms/data.txt.twig 文件中定义,该文件存在于主题文件夹中.
创建子页面在 thankyou/子文件夹下,当用户提交表单时,该子文件夹将被重定向到该页面.
你可以使用表格插件中的一些字段,如下表所示 :
Sr.No. | Field&描述 |
---|---|
1 | Captcha 这是一个反垃圾邮件字段,用于计算以确定用户是否为人. |
2 | 复选框 它显示一个简单的复选框. |
3 | 复选框 它显示多个复选框. |
4 | 日期和日期时间 这两个字段分别用于显示日期和日期以及时间. |
5 | 电子邮件 这是一个带验证的电子邮件字段. |
6 | 隐藏 它指定隐藏字段. |
7 | 密码 它指定了密码字段. |
8 | 广播 它显示简单的单选按钮. |
9 | 选择 它提供了选择字段. |
10 | Spacer 它允许在表格中添加标题,文字或水平线. |
11 | 文字 它显示简单的文本字段. |
12 | Textarea 它显示简单文本区域. |
13 | 显示 它显示文本或指令字段,而不是输入字段. |
每一个字段接受以下参数,可用于自定义表单中的外观.
Sr.No. | 参数&描述 |
---|---|
1 | 标签 它定义标签字段. |
2 | validate.required 它使元素成为必需元素. |
3 | validate.pattern 它指定验证模式. |
4 | validate.message 验证失败时显示消息. |
5 | type 它定义了字段类型. |
6 | 默认 它定义了默认字段类型. |
7 | size 它显示字段大小,如大,x小,中,长,小. |
8 | 名称 它定义了字段名称. |
9 | 类 它使用带有css类的字符串. |
10 | id 它定义了字段ID. |
> 14 | 占位符 这是一个简短的提示,显示在输入字段之前用户输入一个值. |
15 | 自动对焦 它指定输入元素应自动获得焦点当页面加载时. |
16 | novalidate 它指定在提交时不应验证表单数据d. |
17 | readonly 它将字段确定为只读状态. |
18 | 自动完成 当用户开始在字段中输入并显示基于先前输入的值时,它会显示字段中的选项值. |
某些字段包含特定参数,例如 :
Sr.No. | 参数&描述 |
---|---|
1 | 日期和日期时间 这些字段使用 validate.min 和 validate.max 设置最小值和最大值. |
2 | spacer 它使用下划线添加< hr> 标签,使用文字添加文字值,并使用标题作为< h3>标签. |
3 | 选择 它使用多个参数添加多个值. |
4 | 选择和复选框 它使用选项字段来设置可用选项. |
5 | 显示 它使用内容参数显示内容.它将 markdown 设置为true以显示内容. |
6 | captcha 它使用 recatpcha_site_key 和 recaptcha_not_validated 参数. |
我们在名为 g-recaptcha-response 的字段下有验证码信息的代码,如下所示 :
- name:g-recaptcha-response label:Captcha type:captcha recatpcha_site_key:6LelOg4TAAAAALAt1CjjjVMxFLKY8rrnednYVbr8 recaptcha_not_validated:'验证码无效!' 验证: 必填:true
reCaptcha用于保护您的网站免受垃圾邮件和滥用.它使用 recatpcha_site_key 选项并在您的网站上显示小部件.要使用reCaptcha,请参阅 reCaptcha文档.如果reCaptcha不正确,那么它将使用 recaptcha_not_validated 选项显示消息.
您可以在流程字段下发送包含特定选项的电子邮件,如下所示 :
- name: g-recaptcha-response label: Captcha type: captcha recatpcha_site_key: 6LelOg4TAAAAALAt1CjjjVMxFLKY8rrnednYVbr8 recaptcha_not_validated: 'Captcha not valid!' validate: required: true
它使用包含两个字段的电子邮件选项; 来自字段指定电子邮件地址的发件人,至字段使用电子邮件插件配置指定电子邮件地址的发件人.电子邮件字段还使用主题选项,其中将电子邮件发送到通过主题[联系方式] [输入的名称]输入的电子邮件,并且电子邮件的正文在表单/中定义data.html.twig 主题文件.
您可以使用<b重定向到另一个页面流程字段下定义的>消息和显示选项.
process: - message: Thank you for getting in touch! - display: thankyou
消息选项设置一条消息,当用户单击提交按钮时应显示该消息.当用户提交表单时,应将其重定向到另一个页面.在 thankyou 子文件夹下创建一个子页面,其中存储了 form.md 文件.提交表单后,它将被重定向到页面上并显示上述消息.
名为 thankyou/formdata.md 的子页面将包含以下内容.
--- title: Email sent cache_enable: false process: twig: true --- ## Your email has been sent!
当您提交表单时,插件将向用户发送电子邮件,数据将保存在数据/文件夹下.
它用于将数据保存到保存在用户/数据文件夹下的文件中.
例如 :
process: - save: fileprefix: contact- dateformat: Ymd-His-u extension: txt body: "{% include 'forms/data.txt.twig' %}"
数据将以文本格式存储,扩展名为txt.正文取自主题的 templates/forms/data.html.twig 文件.
以下屏幕显示简单形式 :