Для поддержки рейтингов в каждую запись в таблице модуля добавляются следующие поля:
- Текущий рейтинг элемента
- Количество пользователей, проголосовавших за этот элемент
- Общий вес проголосовавших (необходим при голосовании, учитывающем "вес" пользователя)
Данные рейтинга могут отображаться в списке элементов и/или в деталях элемента, в зависимости от заданных параметров. Рядом с каждым элементом отображаются два параметра: рейтинг элемента и количество голосовавших. Отображение любого из двух параметров можно отключить для каждого элемента в отдельности. По умолчанию отображаются оба параметра. Отображать рейтинг можно либо простым текстом, либо в комбинации с картинкой (при этом картинка выводится по значению рейтинга, округленному до целого числа).
Рядом с данными рейтинга возле элемента выводится форма для голосования. Вид формы: радио-кнопки либо выпадающий список. Количество кнопок (или параметров выпадающего списка) задается администратором. По умолчанию - 5.
В отдельной таблице хранится "история" голосований, необходимая для предотвращения повторного голосования за тот же элемент тем же пользователем. В ней для каждого элемента содержатся номера проголосовавших пользователей (если они голосуют как зарегистрированные) либо IP-адреса компьютеров, с которых совершено голосование.
|