vandres / craft-contact-form-extended

为联系人表单插件添加功能

1.0.2 2024-05-18 11:26 UTC

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