Как связать модули userpoints и rate, чтобы при голосовании за сообщение другими пользователями его автору прибавлялись (или отнимались) очки?
Кажется, это проще прощего... Но вот уже около часа не могу найти нужную настройку. При лайке/дислайке с userpoints автора совершенно ничего не происходит.
Комментарии
Думаю, Rules и Voting Rules самое то.
Да... Спасибо за модуль. Это действительно то, что нужно. Но возникла новая проблема: настроить эти Rules.
Точнее, в основном я разобрался... Но я не знаю, как, допустим, переприсвоить значение points, если пользователь переголосовал за сообщение. В итоге, если пользователь сначала выбирает "+", а потом передумывает и ставит "-", то выходят такие вычисления в userpoints: +1, затем -1, что дает 0 (ну, а нужен результат, собственно, -1).
И еще есть некий косяк в самом модуле rates. Он дает нажимать ту же самую кнопку голосования бесконечное количество раз. Сам рейтинг сообщения при этом не меняется, но зато в Rules снова срабатывает событие, что пользователь голосует за него (и в итоге снова идет начисление userpoints).
Помогите мне, пожалуйста, с этим разобраться... Если это возможно.
Проблема решена. Оказалось, существует такое хорошее событие, как "Удаление оценки". Спасибо.
Как решили проблему? Не могу понять, то ли виджет у модуля 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)"
Тыкай хоть на плюс, хоть на минус - идет прибавление очков.
Как с помощью Rules и Voting Rules связать модули userpoints и rate?
Я не понимаю как именно это все настроить в друпале?
напишите пожалуйста
ни как
Rate работает через VotingAPI.
Voting Rules добавляет к обычным Rules события на изменение voting.
Userpoints добавляет к Rules действие добавления points пользователю.
Создаете новое правило.
Событие: User votes чего-нибудь
Действие: Grants/Load points бла-бла
За деталями обращайтесь к административному интерфейсу своего сайта.
Неправильный ответ.
да не я подумал юзерпоинт и рате между собой через вотингапи
Что-то у меня не получается с Vote Up/Down
Событие:
User votes to content
Действие:
Load a user account
Grant points to a user
Если пользователь ставит +1 то автор ноды получает +1, если ставит -1, то автор ноды всё равно получает +1.
Может кто подскажет как сделать?
Вы должны создать несколько разных правил, где будут проверки на условия, какую же именно оценку дали за ноду.
Уже сделал. Если кому надо обращайтесь выложи скриншот правил.
sf3, выкладывайте
Для прибавления плюса создаём правило: 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.
Удачи
Вот еще хороший примерчик: 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"?