linawolf / form_double_opt_in
TYPO3 CMS 表单框架的双重确认订阅
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。
配置
建议将默认的存储Pid设置为您希望保存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
。