thewebmen / silverstripe-formbuilder
Silverstripe 表单构建器,用于在CMS中创建表单
1.2.4
2022-09-30 09:09 UTC
Requires
- silverstripe/cms: ^4.0@dev
- silverstripe/vendor-plugin: ^1.0
Requires (Dev)
- phpunit/phpunit: ^5.7
- squizlabs/php_codesniffer: ^3.0
This package is auto-updated.
Last update: 2024-08-29 04:25:43 UTC
README
简介
在CMS中创建基本表单,本模块旨在作为https://github.com/silverstripe/silverstripe-userforms 模块的轻量级变体
要求
- SilverStripe CMS ^4.0
安装
composer require "thewebmen/silverstripe-formbuilder" "dev-master"
然后,将 "TheWebmen\Formbuilder\Extensions\FormbuilderExtension" 扩展添加到所需的页面类型。
自定义表单处理
在成功提交表单后,会显示一个表单消息。您可以通过在具有表单构建器扩展的页面上添加名为 "handleFormbuilderForm" 的方法来添加自定义逻辑,该方法接收表单、数据和提交。
public function handleFormbuilderForm($form, $data, $submission){
//Your logic here
}
这可以用于将用户重定向到成功页面,此方法在保存提交并发送电子邮件之后调用。
垃圾邮件防护
如果安装了 https://github.com/silverstripe/silverstripe-spamprotection 模块,则表单将自动添加垃圾邮件防护字段。
ModelDropdownfieldField 类型
已添加一个名为 "Model Dropdownfield" 的新输入类型,该类型允许您根据数据对象模型填充下拉列表。使用此输入类型时,您将获得的一项能力是能够链接两个下拉/选择项目(例如,一个省下拉列表,当选择省时更新另一个下拉列表中的城市)。
您可以按如下方式配置字段
TheWebmen\Formbuilder\Fields\ModelDropdownField:
models:
- DataObjects\ModelDropdown\Provinces:
class: 'DataObjects\ModelDropdown\Provinces'
key: 'ID'
value: 'Name'
relation:
relation: 'Locations'
title: 'Vestiging'
linked_by: 'ProvinceID'
class: 'DataObjects\ModelDropdown\Locations'
key: 'Code'
value: 'Name'