2

我对 Grav CMS 真的很陌生。我在一个模块化页面中创建 2 个表格(联系表格和申请/注册表单)时遇到问题。可能吗?

4

1 回答 1

6

您现在可以使用 Form 2.0 插件来完成!

这真的很简单,例如,如果您的模块化页面上有两个模块,在您的情况下,联系表格注册表单

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

联系表格.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

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 !

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

{% include "forms/form.html.twig" with {form: forms('contact_form')} %}

register_form.html.twig一样:

{% include "forms/form.html.twig" with {form: forms('register_form')} %}

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

例如:模板/表单/register_form_template.html.twig

在您的register_form.html.twig中,您可以这样更改:

{% include "forms/register_form_template.html.twig" with {form: forms('register_form')} %}

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

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

于 2017-06-27T14:22:23.067 回答