Установка Google Recaptcha v3 на контактную форму prestashop 1.7.х.

Установка гугл капчи на контактную форму prestashop 1.7.х.
Рассмотрим на примере установку Google Recaptcha v3 на страницу контактной формы prestashop. Для примера, возьмем свежую на данный момент, версию prestashop 1.7.6.5 со стандартной темой classic. Для удобства, также понадобится модуль contactform, который идет в базовой (коробочной) версии prestashop.


Итак, приступим. Для начала возьмем необходимые параметры капчи. У вас должен быть гугл аккаунт. Переходим на https://www.google.com/recaptcha/intro/v3.html и жмем Admin console:

Параметры капчи в prestashop

Заполняем информацию о домене. Копируем Ключ сайта и Секретный ключ. Понадобятся только эти два параметра:

Параметры капчи для prestashop 1.7.х

Для удобства внедрения функционала, будем использовать модуль contactform, который идет в базовой версии престашоп:

Модуль contactform в prestashop 1.7.х

Данный модуль обрабатывает запросы из контактной формы используя уже установленный виджет.

Итак, находим \themes\classic\modules\contactform\views\templates\widget\contactform.tpl шаблон модуля, который выводит контактную форму стандартной темы для фронт офиса.

По инструкции установки капчи, необходимо вставить следующие строки в шаблон:

Вставим их в самое начало файла contactform.tpl, перед тегом section и немного изменим, подставив данные (Ключ сайта), который был получен из настроек капчи. Также пропишем action и input для передачи токена. В результате получится такой код:

Для передачи токена, пропишем input в теле формы (после 139 строки):

Итак, форма готова, осталась обработка сервера. Запрос будет обрабатываться через \modules\contactform\contactform.php. Найдем в нем, функцию sendMessage и изменим, вставив в самое начало функции, такой код:

Такой код, получает значение токена из формы отправки, отправляет его для проверки на сервер гугла. После получения ответа от сервера выводится сообщение о неверной капче и прерывается обработка функции:

Неверная капча в prestashop

Или продолжается в случае успешного результата:

Успешная капча в prestashop

Архив, с двумя файлами можете скачать здесь. Использованная версия модуля contactform = 4.1.1:


Вы можете пропустить чтение записи и оставить комментарий. Размещение ссылок запрещено.

Оставить комментарий

8 × девять =