是否可以使用 Grav CMS 在一个模块化页面中创建 2 个表单?

Chr*_*ong 2 gravity-forms-plugin grav

我真的是 Grav CMS 的新手。我在一个模块化页面中创建 2 个表单(联系表和申请表/注册表)时遇到问题。是否可以?

mhl*_*lsf 6

您现在可以使用 Form 2.0 插件来做到这一点!

这真的很简单,例如,如果您的模块化页面上有两个模块,就您而言,联系表注册表

这意味着你有两个这样的 MarkDown 文件:

contact_form.md :

---
title: contact_form_modular
forms:
    contact_form:
        name: contact
        action: /home
        fields:
            -
                name: email
                label: Email
                validate:
                    required: true
        buttons:
            -
                type: submit
                value: Submit
        process:
            -
                save:
                    fileprefix: register-
                    dateformat: Ymd-His-u
                    extension: txt
                    body: "{% include 'forms/data.txt.twig' %}"
                    operation: add
            -
                message: 'Thank for contacting us !'
---

## Modular title

Here a form to contact me
Run Code Online (Sandbox Code Playgroud)

register_form.md :

---
title: register_form_modular
forms:
    register_form:
        name: register
        action: /home
        fields:
            -
                name: email
                label: Email
                validate:
                    required: true
            -
                name: password
                label: Password
                validate:
                    required: true
        buttons:
            -
                type: submit
                value: Submit
        process:
           - 
                email:
                    from: "{{ config.plugins.email.from }}"
                    to: "{{ config.plugins.email.to }}"
                    subject: "Contact by {{ form.value.name|e }}"
                    body: "{% include 'forms/data.html.twig' %}"
            -
                save:
                    fileprefix: register-
                    dateformat: Ymd-His-u
                    extension: txt
                    body: "{% include 'forms/data.txt.twig' %}"
                    operation: add
            -
                message: 'Thank for registering'
---

## Modular title

Here is a form to register to my app !
Run Code Online (Sandbox Code Playgroud)

然后在主题模板文件夹中的contact_form.html.twig文件中,放置以下行来呈现表单:

{% include "forms/form.html.twig" with {form: forms('contact_form')} %}
Run Code Online (Sandbox Code Playgroud)

而对于同样的register_form.html.twig

{% include "forms/form.html.twig" with {form: forms('register_form')} %}
Run Code Online (Sandbox Code Playgroud)

当然,如果您愿意,您可以制作自己的 form.html.twig 以自定义表单的外观,将新文件放在主题模板文件夹中的表单文件夹中。

例如:template/forms/register_form_template.html.twig

在您的register_form.html.twig 中,您会像这样更改:

{% include "forms/register_form_template.html.twig" with {form: forms('register_form')} %}
Run Code Online (Sandbox Code Playgroud)

我希望我已经清楚了,但如果这里有指向文档的链接:

https://learn.getgrav.org/forms/forms#multiple-forms

  • 虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接答案可能会失效。 (2认同)