Добавяне на reCAPTCHA в PrestaShop

Активирането на reCAPTCHA в PrestaShop (всички версии) може и е препоръчително да се извърши с подходящ модул за системата. Можете да потърсите такъв модул в официалната директория с модули, които се предлагат за версията на вашия PrestaShop магазин.

Регистрация в Google reCAPTCHA

За да можете да използвате reCAPTCHA, първо е необходимо да създадете акаунт на адрес:

https://www.google.com/recaptcha/admin

ще се генерират 2 ключа - Site key (Ключ за сайта) и Secret key (Таен ключ)

След като регистрирате вашия сайт в платформата, за него ще се генерират 2 ключа – Site key (Ключ за сайта) и Secret key (Таен ключ).

Ключът за сайта ще е необходим за активиране на reCAPTCHA в сайта.

Ръчно активиране на reCAPTCHA в PrestaShop 1.6

Активирането на reCAPTCHA в PrestaShop 1.6 е възможно и чрез ръчно редактиране на няколко системни файла. Активирането на reCAPTCHA по този начин не е препоръчително, тъй като не е препоръчителна промяна на системните файлове на PrestaShop.

След като разполагате с ключа за сайта, за да активирате reCAPTCHA на формата за контакт в сайта, може да направите редакция в два файла на системата.

Файл contact-form.tpl

Това е темплейтният файл, който се използва за формата за контакт.

За темата default-bootstrap този файл се намира в директория:

/themes/default-bootstrap/contact-form.tpl

Важно: Задължително направете копие на файла, преди да пристъпите към промяната му.

Във файла contact-form.tpl, точно над реда, съдържащ кода <div class="submit">, поставете кода:

<div>
<script src='https://www.google.com/recaptcha/api.js'></script>
<div class="g-recaptcha" data-sitekey="6LcPTG4UAAAAALdAKJmiy"></div>
</div>

6LcPTG4UAAAAALdAKJmiy – заменете с вашия ключ за сайта (Site key)

Файл ContactControler.php

Важно: Много е важно да не правите промени по файловете на ядрото на системата, вместо това може да направите копие на файла ContactController.php, което ще редактирате и което системно ще се зарежда вместо оригиналния файл.

Копирайте файла ContactControler.php, който се намира в директория:

/controllers/front/ContactController.php

и поставете копието в директория:

/override/controllers/front/ContactControler.php

След това във файла-копие (/override/controllers/front/ContactControler.php) поставете точно под реда $this->errors[] = Tools::displayError('Invalid email address.');

следния код:

} elseif (!($gcaptcha = (int)(Tools::getValue('g-recaptcha-response')))) {
$this->errors[] = Tools::displayError('Captcha error');

Важно: След като запишете промените в двата файла, изчистете кеша в системата през Administration Panel » Advanced Parameters » Performance » Clear cache.

Обновена: 18.03.2022

Беше ли Ви полезна тази статия?

Вижте още