oveleon/contao-advanced-form
Composer 安装命令:
composer require oveleon/contao-advanced-form
包简介
advanced-form extension for Contao Open Source CMS
README 文档
README
Contao Advanced Form
The contao advanced form bundle adds a new form-field (Formpage) to forms that can be used for multipage-forms with conditions
Support
If you like this extension, we'd love your support in keeping the open-source spirit alive.
If you think this plugin is useful, please consider sponsoring us to help contribute to our time invested and to further development of this and other open source projects.
Your contributions, whether through coding, testing, providing feedback, or even
a donation, help ensure that we can continue offering free open source software.
Join us in making a difference, and thank you for your support! - Oveleon.
Working with Contao ^5.3, install v.0.3 for legacy support (Contao 4.*)
- Features
- How to install
- How does contao advanced form work?
- Initial setup
- Advanced setup for conditions
- Important Information
- Options
- License
- Sponsoring
Features
- Configurable formpage / pageswitch form-field with conditions for submitted values
- A Guest mode to show specific form pages for guests only
- Does not display form-pages when conditions are not met
- Sends all collected data on specific form page
- Compatible with all form-fields from contao
How to install the package
Install the package by using following command:
composer require oveleon/contao-advanced-form
After installing the contao-advanced-form-bundle, you should run a contao install to add the new fields.
The extension cannot be used or installed at the same time as MP_Forms from Terminal24
How does contao advanced form work
Once the installation is complete, you will be able to use a new field type called "Formpage" within Contao Forms that does act as a divider for created form fields (i.e.: radio button menu, textarea, etc.).
The 'formpage' form-field acts as a page-switch and you will be redirected to it if the condition from previous submitted values is met.
Initial setup
-
Set up your form as usual and create your form-fields
-
Create 'formpage' fields between the form-fields that should be divided into pages
-
Add a 'submit button label' into your form-page
-
In case you want a button to get to your previous page, add a 'back button label' as well
Advanced setup for conditions
-
Follow the initial setup mentioned above
-
Create values that can be submitted (e.g. Radio button menu) above the form-page that should meet the condition
-
Activate the "Add condition" checkbox and write your condition into it
Important Information
Creating Form Pages
-
The first form-page will always be divided by the first form-field and the first 'Formpage'-field.
-
Following form-pages are created by wrapping them with 'Formpage'-fields.
-
The last field in your form needs to be a 'Formpage'-field, otherwise it will show all form-fields (This is great to debug through your form).
Conditions
Conditions within page-switches (Formpages) will always work for the
FOLLOWING
form-fields up to the next page-switch (Formpage)
Syntax
${Field name of radio button menu} == '{Value of radio button menu}'
A radio button menu with a field name of 'Example1', and a submitted value of 'Option1' will jump to this page-switch (form-page).
$Example1 == 'Option1'
You are able to set up complex conditions to show a certain form-page. The following PHP functions can be used within the condition:
- floatval
- strval
- intval
- in_array
- str_contains
If more functionality is needed, feel free to create a feature issue.
Buttons
The submit-button and back-button are set up for the
PREVIOUS
form-page. They will work for the form-fields above the page-switch (Formpage).
Classes
Classes will always be set for the
PREVIOUS
form-page. They will work for the form-fields above the page-switch (Formpage).
Protecting and hiding form-pages
Using the option 'protect form page' and 'show to guests only', will always work for the
PREVIOUS
form-page. They will work for the form-fields above the page-switch (Formpage).
Options
| Option | Description |
|---|---|
| Submit button label | This field will add a submit button to your form-page that can be named (Next page) |
| Back button label | This field will add a back button to your form-page that can be named (Previous page) |
| Add condition | This checkbox will activate conditions. Your conditions can be written into the text-field |
| Protect form page | Restricts the form page to certain member groups |
| Show to guests only | Hides the form page if a member is logged in |
License
This project is licensed under the AGPL-3.0 License — check LICENSE for more details.
oveleon/contao-advanced-form 适用场景与选型建议
oveleon/contao-advanced-form 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 740 次下载、GitHub Stars 达 5, 最近一次更新时间为 2021 年 04 月 19 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「Forms」 「multi」 「condition」 「contao」 「multipage」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 oveleon/contao-advanced-form 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 oveleon/contao-advanced-form 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 oveleon/contao-advanced-form 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
ConfirmationField is a form field for Atk14 applications. It's like the BooleanField (checkbox) but the ConfirmationField must be ticked.
Laravel Multiauth package
Theme and asset management for laravel
This package provides Laravel bindings and a Eloquent/Model trait for pragmarx/recovery package.
Field for number with restricted count of digits and decimal places
Unified API for key-value storages in memory. As a storage can be used: APC, Redis, Memcache, Couchbase or MongoDB. All storage objects have one interface, so you can switch them without changing the working code.
统计信息
- 总下载量: 740
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 6
- 点击次数: 4
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: AGPL-3.0
- 更新时间: 2021-04-19


