Форум русской поддержки Joomla!® CMS
10.12.2016, 07:08:21 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

[Решено] JoomShopping Captcha - Плагин CAPTCHA для отзывов

 (Прочитано 495 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Tuzemec
Давно я тут
****

Репутация: +25/-0
Offline Offline

Пол: Мужской
Сообщений: 220


Ня!


« : 04.06.2016, 18:46:45 »

В общем на базе официального плагина JoomShopping Registration Captcha делаю капчу для отзывов о товарах.
Капча выводится, но при отправке отзыва, проверка CAPTCHA не производится.
В стандартный плагин добавил вот эти строки кода:
Показать текстовый блок
В чем может быть дело?
Joomla - 3.5.1
JoomShopping - 4.14.0
Плагин без правок можно скачать здесь
« Последнее редактирование: 13.06.2016, 23:17:18 от Tuzemec » Записан
robert
Профи
********

Репутация: +344/-11
Offline Offline

Пол: Мужской
Сообщений: 3595


« Ответ #1 : 04.06.2016, 20:25:08 »

Я не использую Jshopping, поэтому не могу точно сказать, почему у вас не работает, но заметил некоторые моменты:
- Вы уверены, что captcha выводится? Здесь я вижу вывод captcha только при событии onBeforeDisplayRegisterView с последующей проверкой при событии onBeforeRegister
- строка
Код
$plugin = JFactory::getApplication()->input->get('jshopping_captcha', '', 'STRING');
точно нужна?
- $this здесь точно не тот
Код
$app->redirect(SEFLink('index.php?option=com_jshopping&controller=product&task=view&product_id='.$this->product_id,1,1, $jshopConfig->use_ssl));
Записан
Tuzemec
Давно я тут
****

Репутация: +25/-0
Offline Offline

Пол: Мужской
Сообщений: 220


Ня!


« Ответ #2 : 12.06.2016, 12:06:12 »

- Вы уверены, что captcha выводится? Здесь я вижу вывод captcha только при событии onBeforeDisplayRegisterView с последующей проверкой при событии onBeforeRegister
Выводится точно. В сообщении выше функции onBeforeDisplayProductView - вывод CAPTCHA и onBeforeSaveReview - здесь должна быть проверка. Но что-то идет не так как надо.
Что касается переопределения $plugin, то тут да... Лишнее... "Проклятый" копипаст =)))
На счет $this понимаю, что это не вариант. Но дело даже не в нем. Дело в том, что плагин не отдает результат(в данном случае ошибку проверки капчи) в функцию проверки check(), которая есть в компоненте и которая отвечает за проверку заполнения полей формы. В общем кавардак полный. Хотя в теории должно работать... Вот и не пойму что не так сделал.
Записан
robert
Профи
********

Репутация: +344/-11
Offline Offline

Пол: Мужской
Сообщений: 3595


« Ответ #3 : 12.06.2016, 13:27:33 »

Думаю, что на странице товара присутствуют другие элементы, при выводе которых подключаются плагины группы jshoppingcheckout. На каком-то этапе срабатывается событие onBeforeDisplayRegisterView, которое выводит captcha и тем самым сбивает вас с толку.
Дело в том, что вызываемое вами onBeforeSaveReview должно выстреливать в плагинах группы jshoppingproducts. То есть, визуально captcha присутствует, но она никак не участвует в процессе сохранения отзывов.
« Последнее редактирование: 12.06.2016, 13:30:46 от robert » Записан
Tuzemec
Давно я тут
****

Репутация: +25/-0
Offline Offline

Пол: Мужской
Сообщений: 220


Ня!


« Ответ #4 : 13.06.2016, 21:31:19 »

Т.е. я правильно вас понимаю? Смысла дорабатывать плагин группы jshoppingcheckout смысла нет, и лучше сразу сделать отдельный плагин группы jshoppingproducts? Верно?

ЗЫ: Понял правильно =) Плагин CAPTCHA для отзывов заработал! Прикрепляю результат. Спасибо robert за то, что носом ткнул

* jshopping_captcha.zip (1.4 Кб - загружено 17 раз.)
« Последнее редактирование: 13.06.2016, 23:15:42 от Tuzemec » Записан
Biss
Завсегдатай
*****

Репутация: +64/-0
Offline Offline

Пол: Мужской
Сообщений: 661



« Ответ #5 : 14.06.2016, 12:26:34 »

А почему не использовать группу jshopping и использовать один плагин. Вызывать по событию там где нужно
onBeforeDisplayRegisterView
onBeforeDisplayProductView
Записан
robert
Профи
********

Репутация: +344/-11
Offline Offline

Пол: Мужской
Сообщений: 3595


« Ответ #6 : 14.06.2016, 13:20:49 »

А почему не использовать группу jshopping и использовать один плагин. Вызывать по событию там где нужно
onBeforeDisplayRegisterView
onBeforeDisplayProductView
Это утверждение или предположение?
Сам не использую Jshopping, но по коду вижу, что reviewsave() подключает только группу jshoppingproducts. Хотите сказать, что группа jshopping уже заранее подключена?
Записан
dmitry_stas
Профи
********

Репутация: +798/-4
Offline Offline

Сообщений: 7781



« Ответ #7 : 14.06.2016, 15:55:39 »

группа jshopping уже заранее подключена?
всегда в ЖШ подключена. можно использовать ее, просто плагин грузится будет везде, где надо и где не надо.
Записан
robert
Профи
********

Репутация: +344/-11
Offline Offline

Пол: Мужской
Сообщений: 3595


« Ответ #8 : 14.06.2016, 20:08:05 »

всегда в ЖШ подключена. можно использовать ее, просто плагин грузится будет везде, где надо и где не надо.
OK, спасибо, буду знать.
Записан
Biss
Завсегдатай
*****

Репутация: +64/-0
Offline Offline

Пол: Мужской
Сообщений: 661



« Ответ #9 : 14.06.2016, 20:19:51 »

Цитировать
Это утверждение или предположение?
предположение
Цитировать
всегда в ЖШ подключена. можно использовать ее, просто плагин грузится будет везде, где надо и где не надо.
а что бы не подключался везде, если допустим делать такой плагин, то надо создавать папки в соответствующих группах или можно в одной а в настройках плагина сделать настройки 1 вкл для регистрации и 2 вкл для отзывов. Как будет лучше, правильнее ?
Записан
dmitry_stas
Профи
********

Репутация: +798/-4
Offline Offline

Сообщений: 7781



« Ответ #10 : 14.06.2016, 20:34:03 »

исключительно вопрос ненужных затрат в скорости (например, на подключение файла) и расходования памяти. другой вопрос - какие они, эти затраты Azn в случае плагина CAPTCHA - думаю чуть больше чем нисколько. можно пренебречь, и сделать 1 плагин для удобства. но если например в конструкторе плагина делается что-то тяжелое, то лучше это делать тогда, когда нужно.
Записан
quip
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 4



« Ответ #11 : 27.08.2016, 09:16:06 »

Большое СПАСИБО! Очень пригодилось ваше расширение. Joomla 3.6.2, JoomShopping 4.14.2. Спам в отзывах прекратился.
Записан
urry
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 45


« Ответ #12 : 18.10.2016, 01:29:20 »

Здравствуйте!

Столкнулся с похожей проблемой - спам-атака на комментарии к товарам, по нескольку комментаиев в минуту. Пока отключил возможность оставлять комментарии незарегистрированным пользователям, но это не очень хорошо.

Подскажите, правильно ли я понимаю, что к комментариям товаров можно подключить капчу? Не подскажете, как это сделать? Мне показалось из контекста обсуждения выше, что для этого можно использовать модуль JoomShopping Registration Captcha. Скачал. Поставил. Не понимаю как его прикрутить к товарам? Sad((

Спасибо!
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet