medienreaktor / form_double_opt_in
Requires
- ext-json: *
- ext-openssl: *
- typo3/cms-core: ^11.5
- typo3/cms-form: ^11.5
- typo3/cms-scheduler: ^11.5
Requires (Dev)
- codeception/codeception: ^4.1
- codeception/module-asserts: ^1.2
- codeception/module-cli: ^1.1
- codeception/module-webdriver: ^1.1
- phpstan/phpstan: ^1.8.2
- ssch/typo3-rector: ^1.2
- typo3/cms-core: 11.*.*@dev
- typo3/cms-frontend: 11.*.*@dev
- typo3/cms-install: 11.*.*@dev
- typo3/coding-standards: ^0.5.0
- typo3/tailor: ^1.2
- typo3/testing-framework: ^6.14.0
README
向TYPO3 CMS表单框架添加双重确认订阅的扩展
安装
只需将其作为TYPO3扩展安装,或者使用 composer require linawolf/form_double_opt_in
。
然后确保在模板中包含静态的TypoScript。
配置
建议将默认的storagePid设置为一个文件夹,以便将Opt-In记录保存在那里。这可以在模板的常量编辑器中完成,或者通过在TypoScript设置中设置 plugin.tx_formdoubleoptin_doubleoptin.persistence.storagePid
来完成。
使用方法
双重确认订阅过程由两部分组成
1. 双重确认表单完成器
像往常一样使用TYPO3表单框架后台模块构建您的表单。然后添加“双重确认”表单完成器,并将您的字段映射到创建的Opt-In记录的期望字段。还要输入一个页面ID,其中将放置验证插件(见下文)。
Opt-In模型中可用的字段有
- 标题
- 给定名字
- 姓氏
- 电子邮件地址
- 公司
- 客户编号
至少电子邮件地址或客户编号是必填字段。
然后用户将收到一封包含确认链接的电子邮件,以完成双重确认订阅过程。
2. 验证插件
验证插件将通过检查确认链接来验证您的Opt-In记录,并将记录标记为已验证。
只需将“双重确认”插件放置在您喜欢的页面上,并确保在表单完成器中定义此页面ID(见上文)。
如果希望在验证后发送电子邮件到某个地址,请在TypoScript常量中设置。
就是这样。
3. 数据隐私
您可以设置一个调度器来删除opt-in表中所有超过一定年龄的条目。这包括用户未成功订阅邮件的条目。
转到 系统 > 调度器
(仅管理员)并创建一个新 计划任务
,类为 表垃圾回收
。选择一个频率来重复执行任务,并设置一个cron作业(如果还没有的话)。然后选择 要清理的表
: tx_formdoubleoptin_domain_model_optin
和所需的间隔。请注意,收到双重确认邮件的用户在他们的订阅记录被删除后不能再进行订阅。
有关使用调度器的更多信息,请参阅 系统扩展调度器手册 <https://docs.typo3.org/c/typo3/cms-scheduler/main/en-us/>
__。
建议在成功订阅后立即删除所有Opt-In记录。为此,可以使用以下TypoScript常量(默认启用)
plugin.tx_formdoubleoptin_doubleoptin {
settings {
deleteOptInRecordsAfterOptIn = 1
}
}
此外,建议定期运行以下调度任务
- recycler: 从数据库中删除已删除的记录。选择表Op-In(tx_formdoubleoptin_domain_model_optin)。
- scheduler: 表垃圾回收。选择表 tx_formdoubleoptin_domain_model_optin
在删除记录时,TYPO3仅设置一个标记以删除记录。因此,涉及数据隐私的记录应定期从数据库中彻底删除。为此,请使用回收站任务。
当用户通过您的表单注册但未使用双确认功能时,其数据将永久保留在数据库中。使用表格垃圾回收功能删除所有超过30天(或设置其他日期限制)的记录。
4. 归因
此扩展基于 Daniel Kestler 的 medienreaktor/form_double_opt_in
。