terminal42/contao-mp_forms

Contao开源CMS的扩展,用于使用表单生成器创建多步表单

资助包维护!
terminal42
其他

安装数: 26,980

依赖项: 4

建议者: 0

安全性: 0

星级: 25

关注者: 12

分支: 13

开放性问题: 5

类型:contao-bundle

5.2.0 2024-05-22 10:01 UTC

README

这是一个Contao扩展,允许您在多个页面创建真实表单。

安装模块后,您在表单定义中有一个新的设置,可以定义扩展需要工作的GET参数。默认情况下,这是step,因此会在URL中生成step=1step=2等。如果出于某种原因step已经在您的网页上使用,您可以在那里更改设置。

此外,您将获得一个名为页面分页的新表单字段。每次使用此表单字段时,模块都会在表单中插入一个分页。

mp_forms验证用户是否手动跳转到第3步而未填写第1步或第2步。在这种情况下,用户将被重定向到第1步(显然,只有当第1步有必填字段时)。

如果您不希望用户被重定向但希望有一些Ajax魔法,您可以将此扩展与我们的ajaxform结合使用。它们配合得非常好!

⚠️ 您不得使用常规提交表单字段元素

请注意,您不得使用常规提交表单字段,而应再次使用页面分页。否则,您将不会显示任何返回按钮。mp_forms将自动检测最后一个页面分页的行为类似于表单提交。如果您在表单的任何地方使用常规提交表单字段,mp_forms将完全禁用,您将不会有任何步骤!

摘要元素

将表单拆分为多个步骤的典型用例是将之前输入的数据进行总结。这可能在数据提交之前的最后一步发生,也可能在中间发生。您可以使用这种特殊表单字段类型来显示数据。可以通过Contao典型的“简单令牌”技术访问数据。所有之前步骤的表单字段都通过##form_*##表示法传递。您还可以使用##formlabel_*##访问标签。

由于文件有多个值,因此文件的处理方式略有不同。您可以使用extensionsizemime以及为您生成的download_url。为了简化,文件的默认令牌(例如,如果表单字段名为upload,则为##file_upload##)包含使用ce_download模板渲染的HTML。

可以使用##mp_forms_summary##令牌显示所有提交字段的简单摘要,封装在简单的<div>元素中。

由于尝试通常更容易,并且您不必记住所有可用的令牌,因此您可以直接放置##mp_forms_debug##令牌,这将显示所有可用的令牌及其内容。

前端模块以显示步骤导航

本模块附带一个前端模块,允许您轻松为每个步骤构建前端导航。未进行任何样式设计,最终可能看起来像这样

Example for step navigation

请注意,默认情况下,步骤在每种语言中都将命名为 步骤 x。如果您提供它,将使用 页面分页 表单字段标签字段用于导航。

插入标签

您可以使用以下插入标签来获取有关表单状态的详细信息

请注意,它们与 自定义 HTML 前端模块一起使用时特别有用。假设您想显示表单 ID 为 5 的进度条

<div class="progress">
    <div class="progress-bar">
        <div class="progress-bar-inner" style="width:{{mp_forms::5::step::percentage}}%"></div>
    </div>
    <div class="numbers">{{mp_forms::5::step::numbers}}</div>
</div>
```