, (*1)
, (*2)
Adds extensions to the Craft CMS contact form plugin., (*3)
- Save submissions to the database and view them in the Control Panel
- Add a confirmation email that is sent to the submitting email
- Overwrite the default e-mail template
- Add an invisible reCAPTCHA
, (*4)
Support Open Source
This plugin is licensed under a MIT license, which means that it's completely free open source software, and you can use it for whatever and however you wish., (*5)
Requirements
This plugin requires Craft CMS 3 and the Contact Form plugin., (*6)
Installation
Install this plugin through the Plugin Store or follow these instructions., (*7)
-
Open your terminal and go to your Craft project:, (*8)
cd /path/to/project
-
Then tell Composer to load the plugin:, (*9)
composer require hybridinteractive/craft-contact-form-extensions
-
In the Control Panel, go to Settings → Plugins and click the “Install” button for Craft Contact Form Extensions., (*10)
Overwriting the email templates
When you overwrite the email templates, your twig view will receive a submission
variable which contains all the information that a default Contact Form submission contains:, (*11)
- fromName
- fromEmail
- subject
- message
- attachment
When saving submissions to the database the default form name will be "Contact". If you add a message[formName]
hidden field you can override the form name. This can also used to create multiple form indexes in the Control Panel., (*12)
<input type="hidden" name="message[formName]" value="myFormName">
Overriding the confirmation template
When sending confirmation option is enabled and custom templates per form are needed, override the template with a hidden field. The template needs to be placed under templates\_emails folder. Add a hash for safety. The same data is passed as in the default overridden template., (*13)
<input type="hidden" name="message[template]" value="{{ 'contact'|hash }}">
Overriding the confirmation subject
When sending confirmation option is enabled and custom subjects per form are needed, override the subject with a hidden field. Add a hash for safety., (*14)
<input type="hidden" name="message[subject]" value="{{ 'subject'|hash }}">
Overriding where the message is sent
<input type="hidden" name="message[toEmail]" value="{{ 'hello@rias.be'|hash }}">
<input type="hidden" name="message[recaptchaTemplateOverride]" value="true">
<input type="hidden" name="message[saveSubmissionOverride]" value="true">
<input type="hidden" name="message[disableConfirmation]" value="true">
Adding invisible reCAPTCHA
Before you set your config, remember to choose invisible reCAPTCHA
while applying for keys., (*15)
, (*16)
Enable reCAPTCHA in the Contact Form Extensions settings and fill in your siteKey
and secretKey
., (*17)
Then use the following code in your forms inside of the <form>
element:, (*18)
{{ craft.contactFormExtensions.recaptcha | raw }}
ReCaptcha V3
To use ReCaptcha V3, choose the V3 option in the settings, make sure to enter a correct siteKey
and secretKey
and enter a threshold
. Learn more about ReCaptcha V3, (*19)
Then include the following code in your forms inside of the <form>
element, for example for the homepage
action (actions help separate out reCaptcha submissions within the reCaptcha console):, (*20)
{{ craft.contactFormExtensions.recaptcha('homepage') | raw }}
{% for submission in craft.contactFormExtensions.submissions %}
{{ submission.dateCreated|date('d-m-Y H:i') }} - {{ submission.fromEmail }} - {{ submission.fromName }}
{% endfor %}
Brought to you by Hybrid Interactive, (*21)