jpmschuler / powermail-limits
TYPO3 EXT:powermail_limits - 为EXT:powermail添加表单提交限制的功能
Requires
- php: ^8.0
- in2code/powermail: ^12.4.0
- typo3/cms-core: ^12.4
- typo3/cms-fluid: ^12.4
- typo3/cms-frontend: ^12.4
Requires (Dev)
- ergebnis/composer-normalize: ^2.19.0
- friendsofphp/php-cs-fixer: ^3.4.0
- helmich/typo3-typoscript-lint: ^3.1.0
- jangregor/phpstan-prophecy: ^1.0.0
- phpstan/extension-installer: ^1.1.0
- phpstan/phpstan: ^1.6.2
- roave/security-advisories: dev-latest
- saschaegerer/phpstan-typo3: ^1.1.2
- seld/jsonlint: ^1.9.0
- squizlabs/php_codesniffer: ^3.6.2
- ssch/typo3-rector: ^2.5.0
- typo3/cms-composer-installers: ^4.0.0-RC1 || ^5.0.0
- typo3/tailor: ^1.5
README
EXT:powermail_limits
此扩展允许您为TYPO3 EXT:powermail表单设置提交限制
兼容性
本扩展的v2.x版本与12LTS兼容
- TYPO3: ^12
- PHP: ^8.0 (已测试8.2)
- EXT:powermail ^12.4.0
本扩展的v1.x版本与11LTS兼容
- TYPO3: ^11
- PHP: ^7.4 || ^8.0
- EXT:powermail ^10
安装
composer req jpmschuler/powermail-limits
功能
表单新增3个字段
has submission limit
:启用并输入最大提交限制以启用此扩展的表单has waiting list
:提交满后表单是否仍可用以创建等待列表show allocation percentage
:是否显示剩余位置的指示器
启用提交限制后,表单将获得一个新的第一个“页面”(或字段集),并在前面添加一个信息框,显示存在限制、该限制是否已达到以及是否存在等待列表。如果没有配置等待列表且限制已达到,则仅显示信息框,其余表单字段和提交将不会渲染。如果限制已达到,将向配置的收件人(可能是负责表单的编辑人员)发送附加邮件,以便采取行动。
使用DataProcessor,在答案中添加了一个字段(因此在{powermail_all}
中可见),指示它是否是有效的提交或等待列表提交。如果达到限制后的提交,邮件主题将添加前缀,邮件正文将添加前缀(取决于是否为等待列表)。如果没有等待列表且存在无效提交(例如,提前打开表单,其他人提交并填满限制,然后晚些时候提交旧表单),则邮件记录将被标记为隐藏。
对于没有等待列表的表单,您可以在后端禁用或删除邮件以再次释放位置。对于有等待列表的表单,限制将由所有非禁用邮件计算。因此,在第一次等待列表注册完成后,您可能不想禁用重复项,直到表单下线。与申请人联系将他们从等待列表移动到有效位置不是通过扩展完成的,而是被认为是手动过程,在表单禁用后完成,例如基于CSV导出。
标签和覆盖
所有标签目前都是本地管理的,可在en
和de
中找到。因此,它们可以轻松覆盖。指示器以10%向下取整的步骤计算,例如,如果有87%的位置已填满,则显示80的标签。这允许有一定的透明度,而无需告诉每个人没有人注册2000名参与者的活动,或者无需告诉每个人您实际上只有8个位置。
form.submissionspercentage.0: enough free slots
form.submissionspercentage.10: enough free slots
form.submissionspercentage.20: enough free slots
form.submissionspercentage.30: enough free slots
form.submissionspercentage.40: enough free slots
form.submissionspercentage.50: enough free slots
form.submissionspercentage.60: still slots available
form.submissionspercentage.70: still slots available
form.submissionspercentage.80: still slots available
form.submissionspercentage.90: Warning! Only a few slots available
待办事项
- 覆盖后端模块邮件条目主题(当前无效和等待列表前缀没有保存)
- 覆盖答案页面并添加视觉警告前缀
- 添加后端powermail模块的深度链接到限制达到的邮件