Modx Revo+Formit- Как интегрировать google reCaptchaV2

date_range 7 May 2018 visibility366
add_alert Чтобы не шли спам письма на почту с сайта на Modx Revo
create Если идут спам письма с сайта под управлением движка Modx Revo + Formit + ajaxForm. Можно использовать и без компонента ajaxForm
hdr_strong Меньше слов, больше действий!

Устанавливаем с дефолтного репозитория компонент reCaptchaV2
Далее нам будут нужны- секретный и публичный ключ, для того чтобы получить ключи идем по адресу:
google.com/recaptcha/admin авторизуемся там (Если у вас ещё нет аккаунта Google, то так же вам нужно будет пройти процедуру регистрации в гугле).
Затем-- идем в Системные настройки и фильтруем их по recaptchaV2, чтобы вписать туда клчи полученные ранее.


Привязываем ReCaptchaV2 к FormIt


    [[!FormIt?
    //Пишем в вызове формита
    &hooks=`recaptchav2,email`
   ...
    ]]
    //Пишем в саму форму, где хотим видеть капчу
    
[[!recaptchav2_render]] [[!+fi.error.recaptchav2_error]]

Привязываем ReCaptchaV2 к FormIt + ajaForm


    [[!FormIt?
    //Пишем в вызове формита
    &hooks=`recaptchav2,email`
   ...
    ]]
    //Пишем в саму форму, где хотим видеть капчу
    
[[!recaptchav2_render]] [[!+fi.error.recaptchav2_error]]

Пример вызова


    [[!AjaxForm?
 &snippet=`FormIt`
 &form=`kontact-form-obrzv`
 &emailTpl=`tpl-kontact-form-obrzv`
 &hooks=`recaptchav2,email`
 &emailSubject=`Заказ звонка с сайта [[++site_url]]`
 &emailTo=`support@site.ru`
 &validate=`name:required,tel:required`
 &validationErrorMessage=`В форме содержатся ошибки!`
 &successMessage=`

Запрос отправлен!

Наши специалисты свяжутся с
вами в ближайшее время.

` ]]

Пример чанка contact-form наприер
[[+fi.error.name]]
[[+fi.error.tel]]

Ставя отметку, я даю свое согласие на обработку моих персональных данных в соответствии с законом №152-ФЗ «О персональных данных» от 27.07.2006 и принимаю условия Пользовательского соглашения

[[!recaptchav2_render]] [[!+fi.error.recaptchav2_error]]
[[+fi.success:is=`1`:then=`
[[+fi.successMessage]]
`]] [[+fi.validation_error:is=`1`:then=`
[[+fi.validation_error_message]]
`]]

Пример чанка tpl-contact-form наприер

Имя: [[+name]]

Телефон: [[+tel]]


Конечный результат
картинка капчи
beenhere Решено- осталиь вопросы ?
Хостинг сайта
Хостинг от Макхост