vandres / craft-contact-form-extended
为联系人表单插件添加功能
1.0.2
2024-05-18 11:26 UTC
Requires
- php: >=8.2
- craftcms/cms: ^5.1.0
- craftcms/contact-form: ^3.0.0
Requires (Dev)
- craftcms/ecs: dev-main
- craftcms/phpstan: dev-main
- craftcms/rector: dev-main
This package is auto-updated.
Last update: 2024-09-25 11:44:13 UTC
README
为联系人表单插件添加功能。
功能概述
- 添加额外的简单垃圾邮件检查
- 检查在表单上花费的时间
- 配置您的日志记录
要求
此插件需要 Craft CMS 5.1.0 或更高版本,以及 PHP 8.2 或更高版本。
安装
您可以从插件商店安装此插件,或者使用 Composer。
从插件商店
转到您项目控制面板中的插件商店,搜索“Contact Form Extended”,然后点击“安装”。
使用 Composer
打开您的终端,并运行以下命令
# go to the project directory cd /path/to/my-project.test # tell Composer to load the plugin composer require vandres/craft-contact-form-extended # tell Craft to install the plugin ./craft plugin/install contact-form-extended
配置
您可以使用控制面板中的设置对话框。但我会建议在您的配置文件夹中创建一个 contact-form-extended.php
文件。
return [ 'secondsSpentOnFormThreshold' => 3, // 0 to disable 'logSpam' => false, 'logAll' => false, ];
使用方法
只需在表单模板中的某个位置添加以下 prepareSubmission()
调用。例如
<form sprig s-method="post" s-action="contact-form/send" accept-charset="UTF-8"> {# prepare form submission check #} {{ craft.form.service.prepareSubmission() }} {{ hiddenInput('fromName', title ) }} {% if page is defined and page %} {{ redirectInput(page.url) }} {% endif %} </form>
如果您忘记此调用,所有提交可能会被标记为垃圾邮件!
边缘情况
如果您缓存了联系人表单,则可能不会调用 prepareSubmission()
,表单可能会出现异常行为。
这超出了此插件的范围。我会建议不要缓存联系人表单或使用某种类型的 AJAX 解决方案。我的首选是插件“无缓存”和“Sprig”的组合。
路线图
通过“在表单上花费的时间”提供简单的垃圾邮件保护将过滤后的提交写入日志(可配置)
支持我的工作
PayPal: https://www.paypal.com/donate/?hosted_button_id=3WDU85HZCKMPA
买我一杯咖啡: https://buymeacoffee.com/vandres