[РЕШЕНО] Как связать модули userpoints и rate?

Главные вкладки

Аватар пользователя mvlabat mvlabat 30 мая 2012 в 23:11

Как связать модули userpoints и rate, чтобы при голосовании за сообщение другими пользователями его автору прибавлялись (или отнимались) очки?

Кажется, это проще прощего... Но вот уже около часа не могу найти нужную настройку. При лайке/дислайке с userpoints автора совершенно ничего не происходит.

Комментарии

Аватар пользователя mvlabat mvlabat 31 мая 2012 в 18:09

Да... Спасибо за модуль. Это действительно то, что нужно. Но возникла новая проблема: настроить эти Rules.

Точнее, в основном я разобрался... Но я не знаю, как, допустим, переприсвоить значение points, если пользователь переголосовал за сообщение. В итоге, если пользователь сначала выбирает "+", а потом передумывает и ставит "-", то выходят такие вычисления в userpoints: +1, затем -1, что дает 0 (ну, а нужен результат, собственно, -1).

И еще есть некий косяк в самом модуле rates. Он дает нажимать ту же самую кнопку голосования бесконечное количество раз. Сам рейтинг сообщения при этом не меняется, но зато в Rules снова срабатывает событие, что пользователь голосует за него (и в итоге снова идет начисление userpoints).

Помогите мне, пожалуйста, с этим разобраться... Если это возможно.

Аватар пользователя SScrew SScrew 3 августа 2014 в 23:30

mvlabat wrote:
Проблема решена. Оказалось, существует такое хорошее событие, как "Удаление оценки". Спасибо. :)

Как решили проблему? Не могу понять, то ли виджет у модуля Rate тупит, то ли условия в Rules не правильно делаю...
Виджет стоит типа Number Up/Down, в рулсах стоят два события:
1. "User votes on a Комментарий" условий нет, действие "Grant points to a user (+1)"
2. "User deletes a vote on a Комментарий" условий нет, действие "Grant points to a user (-1)"
Тыкай хоть на плюс, хоть на минус - идет прибавление очков.

Аватар пользователя aimisland aimisland 18 июля 2012 в 7:17

Как с помощью Rules и Voting Rules связать модули userpoints и rate?
Я не понимаю как именно это все настроить в друпале?
напишите пожалуйста

Аватар пользователя ser_house ser_house 18 июля 2012 в 9:57

"aimisland" wrote:
Как с помощью Rules и Voting Rules связать модули userpoints и rate?

Rate работает через VotingAPI.
Voting Rules добавляет к обычным Rules события на изменение voting.
Userpoints добавляет к Rules действие добавления points пользователю.

Создаете новое правило.
Событие: User votes чего-нибудь
Действие: Grants/Load points бла-бла

За деталями обращайтесь к административному интерфейсу своего сайта.

"iNFerNo" wrote:
ни как

Неправильный ответ.

Аватар пользователя sf3 sf3 22 августа 2012 в 1:44

Что-то у меня не получается с Vote Up/Down

Событие:
User votes to content

Действие:
Load a user account
Grant points to a user

Если пользователь ставит +1 то автор ноды получает +1, если ставит -1, то автор ноды всё равно получает +1.

Может кто подскажет как сделать?

Аватар пользователя mvlabat mvlabat 23 августа 2012 в 20:05

Вы должны создать несколько разных правил, где будут проверки на условия, какую же именно оценку дали за ноду.

Аватар пользователя sf3 sf3 25 августа 2012 в 16:37

Для прибавления плюса создаём правило: User votes on a node

Срабатывание: Check the value of the vote on a node, там выбираем Больше чем и ставим 0.
Я добавил ещё: Пользователь имеет роль - Зарегистрированный. Чтобы боты не накручивали.

ЕСЛИ:
Load a user account - там ставим ID пользователя: [node:author-uid]
Grant points to a user - Пользователь: Загруженный пользователь, Количество очков 1.

Это для +1.
Для -1 тоже самое, только в Check the value of the vote on a node ставим например Меньше чем 0.
И удостоверьтесь что в Load a user account поле Machine readable variable name: отличается от того, что в правиле где ставят +1.

Вот и всё. Будут вопросы обращайтесь.

Ещё я сделал защиту от минусовки теми, у кого 0 поинтов.
ПРИ срабатывании события - добавляем Compare current Userpoints - Amount to compare: 1.

Удачи

Аватар пользователя _MIR_ _MIR_ 17 сентября 2013 в 15:15

Вот еще хороший примерчик: http://www.attuneuniversity.com/blog/grant-user-points-to-certified-comm...

Но, в любом случае, для меня не понятна одна деталь - как минусовать?
У меня работает так:

Grant points to a user
Parameter: Пользователь: [comment:author], Points: -1, Points category: Комментарии, Материал: [comment], Описание: Ваш комментарий оценен..., Действие: Remove, Модерировать: Automatically approved

Т.е. не совсем понятна логика - убрать минус один. Почему просто не "remove 1"? Smile