VotingAPI

Опубликовано VladSavitsky

Описание с сайта

Модуль User Karma: репутация пользователя

Модуль подсчитывает карму пользователей, используя модуль VotingAPI.

Обратите внимание: Модуль требует MySQL 4.1.X или выше для работы.

Что такое "Карма"?

Технически

В контексте этого модуля карма это сумма всех карм полученных через хук hook_user_karma_partial().

Модуль user_karma опрашивает другие модули на предмет того, могут ли они рассчитывать карму.
Эти модули определяют hook_user_karma_partial().
Карма пользователя будет суммой всех этих полученных карм.

Это значит, что вам нужны дополнительные модули, которые реально рассчитывают карму.

Этот модуль поставляется с:

  • user_karma_receive_vote_node
  • user_karma_receive_vote_comment
  • user_karma_give_vote
  • user_karma_write_comment (скоро!)

Эти плагины очень-очень просто написать, поэтому любой разумный запрос новых возможностей будет легко воплотить!

Как карма работает?

Например, если пользователь #99 написал 10 комментариев и они все получили голоса больше 0, карма пользователя останется положительной. Точно также, если пользователь #98 имеет 10 комментарие и они все получили голоса меньше 0, карма пользователя будет отрицательной.

Это значит, что рейтинг может быть меньше 0.

Идем дальше... работа некоторых модулей отличается и позволяет только положительные голоса (например, оценка от 1 до 10).
В таких условиях модуль также будет работать: так как карма имеет срок действия (только контент, который был создан в течении последних N дней будет использован для расчета кармы), карма пользователя в конечном счете стабилизируется.

Назначение ролей

Этот модуль управляет набором ролей и назначает их в соответствии с кармой пользователя. Есть 2 пути назначения ролей: основанный на чистом (raw) значении кармы и основанный на ранжировании пользователя (user ranking), свыше 10000. Это дает вам точность.

Виды (Views)

Этот модуль использует VotingAPI. Это значит, что вы можете использовать модуль с модулем "views".
Все, что вам нужно знать это то, что модуль добавляет один "vote" (или "entry") для каждого пользователя, где value_type это karma_points и тег - "karma".
Я использовал разные value_type потому что я не хочу, чтобы VotingAPI подсчитывал сумму, среднее и др. (Это просто не имеет смысла).

Читать дальше...
 
 
 

RSS-лента новостей

Dries Buytaert по-русски
]]>Русский поиск Drupal]]>

Перенос сайта из Joomla в Drupal
Перенос сайта из WordPress в Drupal

]]> Drupal - это бесплатная система управления контентом с открытым исходным кодом ]]>