heimrichhannot / contao-formhybrid
包含处理contao前端表单提交的功能。
Requires
- php: ^7.0 || ^8.0
- contao-community-alliance/composer-plugin: ~2.4 || ~3.0
- contao/core-bundle: ^4.4
- firebase/php-jwt: ^4.0
- heimrichhannot/contao-ajax: ^1.1.1
- heimrichhannot/contao-be_explanation: ~1.0
- heimrichhannot/contao-haste_plus: ^1.6
- heimrichhannot/contao-inserttag_download: ~1.0
- heimrichhannot/contao-notification_center_plus: ~1.0
- heimrichhannot/contao-status_messages: ^1.0 || ^2.0
- heimrichhannot/contao-submissions: ^1.0.14
- heimrichhannot/contao-versions: ~1.0 || ~2.0
Suggests
- heimrichhannot/contao-exporter: Export entities to pdf
- dev-master
- 3.25.0
- 3.24.0
- 3.23.3
- 3.23.2
- 3.23.1
- 3.23.0
- 3.22.2
- 3.22.1
- 3.22.0
- 3.21.3
- 3.21.2
- 3.21.1
- 3.21.0
- 3.20.0
- 3.19.1
- 3.19.0
- 3.18.1
- 3.18.0
- 3.17.0
- 3.16.5
- 3.16.4
- 3.16.3
- 3.16.2
- 3.16.1
- 3.16.0
- 3.15.1
- 3.15.0
- 3.14.1
- 3.14.0
- 3.13.0
- 3.12.0
- 3.11.0
- 3.10.7
- 3.10.6
- 3.10.4
- 3.10.3
- 3.10.2
- 3.10.1
- 3.10.0
- 3.9.4
- 3.9.3
- 3.9.2
- 3.9.1
- 3.9.0
- 3.8.2
- 3.8.1
- 3.8.0
- 3.7.0
- 3.6.0
- 3.5.4
- 3.5.3
- 3.5.2
- 3.5.1
- 3.5.0
- 3.4.4
- 3.4.3
- 3.4.2
- 3.4.1
- 3.4.0
- 3.3.0
- 3.2.3
- 3.2.2
- 3.2.1
- 3.2.0
- 3.1.0
- 3.0.6
- 3.0.5
- 3.0.4
- 3.0.3
- 3.0.2
- 3.0.1
- 3.0.0
- v2.x-dev
- 2.11.0
- 2.10.10
- 2.10.9
- 2.10.8
- 2.10.7
- 2.10.6
- 2.10.5
- 2.10.4
- 2.10.3
- 2.10.2
- 2.10.1
- 2.10.0
- 2.9.5
- 2.9.4
- 2.9.3
- 2.9.2
- 2.9.1
- 2.9.0
- 2.8.19
- 2.8.18
- 2.8.17
- 2.8.16
- 2.8.15
- 2.8.14
- 2.8.13
- 2.8.12
- 2.8.11
- 2.8.10
- 2.8.9
- 2.8.8
- 2.8.7
- 2.8.6
- 2.8.5
- 2.8.4
- 2.8.3
- 2.8.2
- 2.8.1
- 2.8.0
- 2.7.2
- 2.7.1
- 2.7.0
- 2.6.25
- 2.6.24
- 2.6.23
- 2.6.22
- 2.6.21
- 2.6.20
- 2.6.19
- 2.6.18
- 2.6.17
- 2.6.16
- 2.6.15
- 2.6.14
- 2.6.13
- 2.6.12
- 2.6.11
- 2.6.10
- 2.6.9
- 2.6.8
- 2.6.7
- 2.6.6
- 2.6.5
- 2.6.4
- 2.6.3
- 2.6.2
- 2.6.1
- 2.6.0
- 2.5.60
- 2.5.59
- 2.5.58
- 2.5.57
- 2.5.56
- 2.5.55
- 2.5.54
- 2.5.53
- 2.5.52
- 2.5.51
- 2.5.50
- 2.5.49
- 2.5.48
- 2.5.47
- 2.5.46
- 2.5.45
- 2.5.44
- 2.5.43
- 2.5.42
- 2.5.41
- 2.5.40
- 2.5.39
- 2.5.38
- 2.5.37
- 2.5.36
- 2.5.35
- 2.5.34
- 2.5.33
- 2.5.32
- 2.5.31
- 2.5.30
- 2.5.29
- 2.5.28
- 2.5.27
- 2.5.26
- 2.5.25
- 2.5.24
- 2.5.23
- 2.5.22
- 2.5.21
- 2.5.20
- 2.5.19
- 2.5.18
- 2.5.17
- 2.5.16
- 2.5.15
- 2.5.14
- 2.5.13
- 2.5.12
- 2.5.11
- 2.5.10
- 2.5.9
- 2.5.8
- 2.5.7
- 2.5.6
- 2.5.5
- 2.5.4
- 2.5.3
- 2.5.2
- 2.5.1
- 2.5.0
- 2.4.19
- 2.4.18
- 2.4.17
- 2.4.14
- 2.4.13
- 2.4.12
- 2.4.11
- 2.4.10
- 2.4.9
- 2.4.8
- 2.4.7
- 2.4.6
- 2.4.5
- 2.4.4
- 2.4.3
- 2.4.2
- 2.4.1
- 2.4.0
- 2.3.28
- 2.3.27
- 2.3.26
- 2.3.25
- 2.3.24
- 2.3.23
- 2.3.22
- 2.3.21
- 2.3.20
- 2.3.19
- 2.3.18
- 2.3.17
- 2.3.16
- 2.3.15
- 2.3.14
- 2.3.13
- 2.3.12
- 2.3.11
- 2.3.10
- 2.3.9
- 2.3.8
- 2.3.7
- 2.3.6
- 2.3.5
- 2.3.4
- 2.3.3
- 2.3.2
- 2.3.1
- 2.3.0
- 2.2.20
- 2.2.19
- 2.2.18
- 2.2.17
- 2.2.16
- 2.2.15
- 2.2.14
- 2.2.13
- 2.2.12
- 2.2.11
- 2.2.10
- 2.2.9
- 2.2.8
- 2.2.7
- 2.2.6
- 2.2.5
- 2.2.4
- 2.2.3
- 2.2.2
- 2.2.1
- 2.2.0
- 2.1.12
- 2.1.11
- 2.1.10
- 2.1.9
- 2.1.8
- 2.1.7
- 2.1.6
- 2.1.5
- 2.1.4
- 2.1.3
- 2.1.2
- 2.1.1
- 2.1.0
- 2.0.86
- 2.0.85
- 2.0.84
- 2.0.83
- 2.0.82
- 2.0.81
- 2.0.80
- 2.0.79
- 2.0.78
- 2.0.77
- 2.0.76
- 2.0.75
- 2.0.74
- 2.0.73
- 2.0.72
- 2.0.71
- 2.0.70
- 2.0.69
- 2.0.68
- 2.0.67
- 2.0.66
- 2.0.65
- 2.0.64
- 2.0.63
- 2.0.62
- 2.0.61
- 2.0.60
- 2.0.59
- 2.0.58
- 2.0.57
- 2.0.56
- 2.0.55
- 2.0.54
- 2.0.53
- 2.0.52
- 2.0.51
- 2.0.50
- 2.0.49
- 2.0.48
- 2.0.47
- 2.0.46
- 2.0.45
- 2.0.44
- 2.0.43
- 2.0.42
- 2.0.41
- 2.0.40
- 2.0.39
- 2.0.38
- 2.0.37
- 2.0.36
- 2.0.35
- 2.0.34
- 2.0.33
- 2.0.32
- 2.0.31
- 2.0.30
- 2.0.29
- 2.0.28
- 2.0.27
- 2.0.26
- 2.0.25
- 2.0.24
- 2.0.23
- 2.0.22
- 2.0.21
- 2.0.20
- 2.0.19
- 2.0.18
- 2.0.17
- 2.0.16
- 2.0.15
- 2.0.14
- 2.0.13
- 2.0.12
- 2.0.11
- 2.0.10
- 2.0.9
- 2.0.8
- 2.0.7
- 2.0.6
- 2.0.5
- 2.0.4
- 2.0.3
- 2.0.2
- 2.0.1
- 2.0.0
- 1.1.16
- 1.1.15
- 1.1.14
- 1.1.13
- 1.1.12
- 1.1.11
- 1.1.10
- 1.1.9
- 1.1.8
- 1.1.7
- 1.1.6
- 1.1.5
- 1.1.4
- 1.1.3
- 1.1.2
- 1.1.1
- 1.1.0
- 1.0.5
- 1.0.4
- 1.0.3
- 1.0.2
- 1.0.1
- 1.0.0
This package is auto-updated.
Last update: 2024-09-12 11:28:01 UTC
README
包含处理contao前端表单提交的功能。
使用很简单:将默认调色板(FORMHYBRID_PALETTE_DEFAULT)包含在config.php中,并在您的模块的tl_module文件中删除您不需要的字段。
-> 点击此处查看模块formhybrid、formhybrid_list、frontendedit和submissions之间的交互关系图。
功能
- 表单验证
- 根据特殊字段的dca属性(例如日期)转换其值
- Ajax处理
- 如有必要,使用提交模块存储提交内容
- optIn实体激活和通知处理
- optOut实体处理
使用方法
安装
使用composer和Contao 4管理版
composer require heimrichhannot/contao-formhybrid ~2.8
调色板处理
- 必须在可编辑字段中声明permanentFields以获取正确的字段位置
- 在可编辑字段中声明的字段,其选择器未激活或不是可编辑字段本身的一部分,将从最终字段集中删除
- 不在可编辑字段中的活动选择器的字段将从最终字段中删除
插入标签
- {{form::FIELDNAME}} 返回字段的格式化值(选择值而不是键)
- {{form_value::FIELDNAME}} 返回字段的值
- {{form_submission::FIELDNAME}} 返回 "字段标签 : 格式化字段值"
- {{if}}
- {{elseif}}
- {{else}}
- {{endif}}
开发者
通知中心令牌
Formhybrid已准备好通知中心。在表单提交时,可以向发送者发送2封电子邮件(确认通知)和一封给接收者(提交通知)。以下提供了以下令牌供使用
配置回调
额外的eval dca配置参数
前端表单
我们建议使用Contao Frontendedit。如果您不能或需要更高级的选项
- 创建一个模块并添加您想要的所有调色板字段(参见config.php FORMHYBRID_PALETTE_DEFAULT和tl_module.php)
- 将以下代码添加到您的模块::compile()方法中,以渲染表单
use HeimrichHannot\FormHybrid\Form;
[...]
$objForm = new Form($this);
$this->Template->form = $objForm->generate();
[...]
通过扩展Form类并重写方法可以创建更高级的配置。以下是可以重写的方法(非完整列表,请参阅Form和DC_Hybrid类)
钩子
JavaScript事件
optIn处理
FormHybrid自带optIn处理功能。使用它需要以下步骤
- 将
formHybridAddOptIn
添加到您的模块调色板中 - 在您的实体dca文件末尾添加
\HeimrichHannot\FormHybrid\FormHybrid::addOptInFieldToTable([TABLE_NAME])
并更新您的数据库 - 在通知中心创建一个optIn通知,并在文本或HTML中提供
##opt_in_link##
optOut处理
FormHybrid自带optOut处理功能。在调用optOut链接后,实体将被删除。使用它需要以下步骤
- 将
formHybridAddOptOut
添加到您的模块调色板中,并在模块配置中激活它 - 在您的实体dca文件末尾添加
\HeimrichHannot\FormHybrid\FormHybrid::addOptOutFieldToTable([TABLE_NAME])
并更新您的数据库 - 在您的通知生成代码中调用数据库中的退订令牌
HeimrichHannot\FormHybrid\TokenGenerator
,以生成退订电子邮件令牌和 URL。 - 将
opt_out_token
和opt_out_link
添加到您的通知中心令牌,并在消息中调用它们
注意:如果您增强现有数据以处理退订,则不会自动为现有条目生成令牌,并且无法为现有条目进行退订!在生成退订链接之前,您需要在代码中检查条目是否已存在令牌!示例
if ($module->formHybridAddOptOut && !$recipientsModel->optOutToken) { $recipientsModel->optOutToken = Form::generateUniqueToken(); $recipientsModel->save(); }
重复实体标志
将 Form::isDuplicateEntityError
设置为 true,以在保存之前停止并抛出错误消息。
自定义
添加自定义提交标签
将您的标签添加到 $GLOBALS['TL_LANG']['MSC']['formhybrid']['submitLabels']
。