Бесплатно
Загрузите дополнение из админки вашего сайта.
Как загрузить?
Как загрузить?
Внимание, этот компонент требует версию PHP
7.0
или выше!
Если ваш сайт использует PHP ниже требуемого, установка этого
дополнения может его сломать.
Внимание, этот компонент требует версию MODX не ниже
2.3
!
Для работы компонента нужно добавить хук rcv3 в hooks вызова FormIt / AjaxForm (самым первым) и сниппет rcv3_html в форму (внутри тэга form):
Или на Fenom:
Данный сниппет добавляет в форму input и регистрирует js-скрипты.
В системных настройках Formit указать ключи:
Получить ключи можно на этой странице https://www.google.com/recaptcha/admin.
Параметр rcv3Action предназначен для изменения идентификатора action. Подробнее в документации: https://developers.google.com/recaptcha/docs/v3#actions
[[!rcv3_html? &action=`[[+rcv3Action:default=``]]` &error=`[[+fi.error.g-recaptcha-response]]`]]
Или на Fenom:
{'!rcv3_html' | snippet : [
'action' => $rcv3Action,
'error' => $_modx->getPlaceholder('fi.error.g-recaptcha-response'),
]}
Данный сниппет добавляет в форму input и регистрирует js-скрипты.
В системных настройках Formit указать ключи:
- секретный — formit.recaptcha_private_key
- и публичный — formit.recaptcha_public_key
Получить ключи можно на этой странице https://www.google.com/recaptcha/admin.
Пример вызова:
{'!AjaxForm' | snippet : [
'snippet' => 'FormIt',
'form' => 'tpl.AjaxForm.example',
'emailTpl' => 'contactEmailTpl',
'hooks' => 'rcv3,email',
'emailFrom' => $_modx->config.emailsender,
'emailFromName' => $_modx->config.site_name,
'emailSubject' => 'Сообщение с сайта' ~ $_modx->config.site_name,
'emailTo' => $_modx->config.emailsender,
'validate' => 'name:required',
'validationErrorMessage' => 'В форме содержатся ошибки!',
'successMessage' => 'Сообщение успешно отправлено',
'rcv3Action' => 'contactform',
]}
Параметр rcv3Action предназначен для изменения идентификатора action. Подробнее в документации: https://developers.google.com/recaptcha/docs/v3#actions
Пример чанка формы:
<form action="" method="post" class="ajax_form af_example">
<div class="form-group">
<label class="control-label" for="af_name">[[%af_label_name]]</label>
<div class="controls">
<input type="text" id="af_name" name="name" value="[[+fi.name]]" placeholder="" class="form-control"/>
<span class="error_name">[[+fi.error.name]]</span>
</div>
</div>
<div class="form-group">
<label class="control-label" for="af_email">[[%af_label_email]]</label>
<div class="controls">
<input type="email" id="af_email" name="email" value="[[+fi.email]]" placeholder="" class="form-control"/>
<span class="error_email">[[+fi.error.email]]</span>
</div>
</div>
<div class="form-group">
<label class="control-label" for="af_message">[[%af_label_message]]</label>
<div class="controls">
<textarea id="af_message" name="message" class="form-control" rows="5">[[+fi.message]]</textarea>
<span class="error_message">[[+fi.error.message]]</span>
</div>
</div>
<div class="form-group">
<div class="controls">
<button type="reset" class="btn btn-default">[[%af_reset]]</button>
<button type="submit" class="btn btn-primary">[[%af_submit]]</button>
</div>
</div>
[[!rcv3_html? &action=`[[+rcv3Action:default=``]]` &error=`[[+fi.error.g-recaptcha-response]]`]]
</form>
1.0.7
- добавлена проверка скоринга, спасибо @alexsoin за pull request
1.0.6
- Удален лишний класс у span с сообщением об ошибке
1.0.5
- Обновление капчи каждую минуту
1.0.4
- Исправлены возможные проблемы с инициализацией капчи, спасибо Boshnik за Pull request
1.0.3
- Добавлена возможность использовать несколько форм на странице.
1.0.2
- Добавлены лексиконы.
- Изменены тексты сообщений об ошибках.
- Исправлена возможность обхода капчи. Спасибо Дмитрию (GoodSite) за багрепорт.
1.0.1
- Мелкие исправления.
1.0.0
- Релиз.
Последние обсуждения в сообществе MODX.pro