thewebmen/silverstripe-formbuilder

Silverstripe 表单构建器,用于在CMS中创建表单

安装数: 3,036

依赖关系: 0

建议者: 0

安全性: 0

星标: 2

关注者: 11

分支: 0

开放性问题: 0

类型:silverstripe-vendormodule

1.2.4 2022-09-30 09:09 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'