Отзывы о товаре, помогают как покупателям – определится с выбором.
Но часто отзывы о товарах – “засыпают” спамом. Для защиты от спама – обычно используют Captcha (капча, каптча).
Есть хорошее решение от Google – reCAPTCHA (ре-капча).
Добавить в Magento – Captcha к форме отзывов о товаре
Сделаем правки в файл-шаблон Magento, формы отзывов о товаре:
app/design/frontend/rwd/default/template/review/form.phtml
Перед тегом <form>, вставим JavaScript:
<script type="text/javascript">
var onloadCallback = function () {
grecaptcha.render('recaptcha_html_element', {
'sitekey': 'my_sitekey'
});
};
</script>
<script src="https://www.google.com/recaptcha/api.js?onload=onloadCallback&render=explicit&hl=ru" async defer></script>
my_sitekey – это ключ, который необходимо получить на сайте Google reCAPTCHA
recaptcha_html_element – ID блока HTML, где будет “отрисовыватся” Google reCAPTCHA
В форме отзывов, вставим HTML:
<div id="recaptcha_html_element"></div>
<input type="hidden" name="validate_recaptcha" class="validate-recaptcha" value="" />
validate_recaptcha – поле для проверки ввода капчи
Далее, находим блок кода JavaScript:
var dataForm = new VarienForm('review-form');
И вставим чуть ниже JavaScript – для обработки проверки Captcha в формах Magento:
Validation.addAllThese(
[
['validate-recaptcha', '<?php echo $this->__('Please check the Magento CAPTCHA code. It\'s not correct.') ?>', function(v) {
var error = 1;
var v = grecaptcha.getResponse();
if (v.length === 0) {
error = 1;
} else {
// checked
error = 0;
}
if (error == 1) {
return false;
} else {
error = 1;
}
return true;
}]
]
);
Должно работать 🙂
Осталось только добавить перевод – Please check the Magento CAPTCHA code
Следует заметить, в некоторых случаях – Капча, может навредить сайту – если посетители сайта старшей или младшей возрастной категории, посетителям иногда может быть трудно “ответить” на вопросы капчи.