Подключение Google ReCapcha в PS 1.7 без модуля

sche

Гуру форума
Регистрация
16 Ноя 2017
Сообщения
162
Реакции
68
Всем добрый!
Настраиваю Гугл Рекапчу для формы обратной связи (спам полился) по инструкции:
Для просмотра ссылки Войди или Зарегистрируйся
Подскажите, пожалуйста, как вставить нужный код в ContactController.php, если на Престе 1.7 он (.php-файл, без учёта комментариев создателей) выглядит так:


class ContactControllerCore extends FrontController
{
public $php_self = 'contact';
public $ssl = true;

public function initContent()
{
parent::initContent();

$this->setTemplate('contact');
}
}
 
В 1.7 отправка сообщений реализована через модуль contactform, поэтому та инструкция не совсем подходит.
Дорабатывайте в модуле, тем же способом, функцию sendMessage().
 
  • Нравится
Реакции: sche
В 1.7 отправка сообщений реализована через модуль contactform, поэтому та инструкция не совсем подходит.
Дорабатывайте в модуле, тем же способом, функцию sendMessage().
Простите, я в программировании ничего не понимаю (в институте был 1 семестр ФОРТРАНА).
Нашёл функцию sendMessage() в contactform.php, выглядит кусок кода так:

public function getWidgetVariables($hookName = null, array $configuration = [])
{
$notifications = false;
if (Tools::isSubmit('submitMessage')) {
$this->sendMessage();

if (!empty($this->context->controller->errors)) {
$notifications['messages'] = $this->context->controller->errors;
$notifications['nw_error'] = true;
} elseif (!empty($this->context->controller->success)) {
$notifications['messages'] = $this->context->controller->success;
$notifications['nw_error'] = false;
}
}

if (($id_customer_thread = (int)Tools::getValue('id_customer_thread')) && $token = Tools::getValue('token')) {
$cm = new CustomerThread($id_customer_thread);
if ($cm->token == $token) {
$this->customer_thread = $this->context->controller->objectPresenter->present($cm);
$order = new Order((int)$this->customer_thread['id_order']);
if (Validate::isLoadedObject($order)) {
$customer_thread['reference'] = $order->getUniqReference();
}
}
}

Вставляют часть из инструкции в разные места (с заменой на мой секретный ключ, разумеется), ничего не меняется - галочка на сайте есть, но сообщения отправляются и без неё.
 
Простите, я в программировании ничего не понимаю
Без обид, но тогда по-быстрому подсказать не смогу. В этом случае нужно точно такую же инструкцию писать, по которой вы пробовали делать, чтобы с минимум знаний можно было все в коде поменять. А на это времени нет, может на выходных.
 
Без обид, но тогда по-быстрому подсказать не смогу. В этом случае нужно точно такую же инструкцию писать, по которой вы пробовали делать, чтобы с минимум знаний можно было все в коде поменять. А на это времени нет, может на выходных.
Хорошо, спасибо. Буду пока сам пробовать разобраться и надеяться, что у вас всё-таки будет свободное время на выходных :)
 
То же посыпался спам на 2-х сайтах на 1.7, вопрос, почему нужна капча без модуля и есть ли такой модуль?
 
То же посыпался спам на 2-х сайтах на 1.7, вопрос, почему нужна капча без модуля и есть ли такой модуль?
Модуль есть, называется Re Capcha Для просмотра ссылки Войди или Зарегистрируйся
Но, как видите, стоит денежку, при том, что можно сделать за бесплатно вручную то, что он делает автоматически. Как включить капчу вручную на PS 1.6 - смотрите мой первый пост, там ссылка на инструкцию. Как сделать это самому в 1.7 - пока не выяснил, ради этого топик и создал.
Если что, сделал также запрос модуля для 1.7 в соответствующем топике, но пока никто не поделился.
 
Вот бесплатный, но у меня, почему то, не устанавливается Для просмотра ссылки Войди или Зарегистрируйся

Вот еще slidecapcha Для просмотра ссылки Войди или Зарегистрируйся, она устанавливается, но пока не пойму в какой .tpl ее вставлять
 
Последнее редактирование:
Вот еще slidecapcha Для просмотра ссылки Войди или Зарегистрируйся, она устанавливается, но пока не пойму в какой .tpl ее вставлять
На сайте разработчика написано, что вставлять в нужную форму над кнопкой с сабмитом. Значит в \themes\classic\modules\contactform\views\templates\widget\contactform.tpl
 
Вот бесплатный, но у меня, почему то, не устанавливается Для просмотра ссылки Войди или Зарегистрируйся

Вот еще slidecapcha Для просмотра ссылки Войди или Зарегистрируйся, она устанавливается, но пока не пойму в какой .tpl ее вставлять
Действительно, первая не ставится. Вторая ставится и настраивается, но у меня лично такая проблема: курсор при наведении на слайдер превращается в стрелочку, которая показывает влево и вправо, и сдвинуть слайдер нельзя. Также такая капча не работает с андроид-смартфонов, в отличие от гугловской, что тоже плохо. Поэтому всё ещё надеюсь на то, что какая-нибудь добрая душа со свободным временем сделает туториал по ручной установке на 1.7. Это надо не только мне, а всем таким же аматорам, кто начнёт делать сайт на этой же версии Престы в будущем.
 
Назад
Сверху