Рейтинг

Модуль относится к части CMS «Интерактив» и может быть установлен опционально.

Модуль «Рейтинг» подключается к другим модулям. В стандартной комплектации diafan.CMS «Рейтинг» подключен к следующим модулям: Фотогалерея, Новости, Статьи, Магазин, Файловый архив, Вопрос-Ответ. Включение рейтинга в рамках модуля настраивается в конфигурации конкретного модуля.

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

Подключение

Подключаемая часть – файл modules/rating/rating.inc.php. В нем описан класс Rating_inc. В модуле к объекту классам можно обратится через переменную $this->diafan->_rating. Экземпляр класса создается при первом вызове переменной.

Методы

string get([integer $element_id = 0], [string $module_name = '']) – показывает рейтинг для элемента.

  • access: public

  • integer $element_id: номер элемента модуля

  • string $module_name: название модуля

string add([integer $element_id = 0], [string $module_name = '']) – показывает форму оценки элемента.

  • access: public

  • integer $element_id: номер элемента модуля

  • string $module_name: название модуля

Пример

// получаем рейтинг товара в файле modules/shop/shop.model.php 
$rating = $this->diafan->_rating->get($id, 'shop');
// выводим рейтинг в шаблоне модуля в файле modules/shop/shop.view.php 
echo $rating;

// получаем форму оценки товара в файле modules/shop/shop.model.php 
$add_rating = $this->diafan->_rating->add($id, 'shop');
// выводим рейтинг в шаблоне модуля в файле modules/shop/shop.view.php 
echo $add_rating;

Как добавлять рейтинг к модулю

В конфигурации модуля (modules/модуль/admin/модуль.admin.config.php) и в файле редактирования элементов модуля (modules/модуль/admin/модуль.admin.php) необходимо добавить параметр 'rating':

$this->variable_table = array('rating' => 'module'); 

Административная часть

В административной части модуля собираются средние оценки за все элементы разных модулей в одну таблицу и отображаются в порядке обновления. Рейтинг отдельного элемента модуля можно посмотреть не посещая раздел «Рейтинг» в административной части. Так как средняя оценка и число голосовавших за элемент отображается при редактировании элемента модуля, к которому подключен рейтинг.

Кнопка служит для удаления оценки. При удалении какого-либо элемента, удаляется оценка этого элемента.

Рейтинг имеет следующие характеристики.

Основные:

  • Объект;

  • Средняя оценка;

  • Количество голосовавших;

  • Дата последнего голосования.

В списке оценок выводятся название и модуль оцениваемого элемента.

Настройки

Только для зарегистрированных пользователей – параметр позволяет запретить неавторизованным пользователям голосовать.

Защита от накруток – возможные значения:

  • нет;

  • использовать защитный код (captcha);

  • вести лог голосовавших (все голоса записываются в таблицу {log_note}, с параметром module=rating, пользователь не может голосовать повторно в рамках одной сессии);

  • запрещать голосовать повторно (пользователь не может голосовать повторно в рамках одной сессии).

CSS-форматирование

.rating_form{} – форма оценки элемента

.rating_form .button{} – кнопка «Оценить»

.rating_votes{} – рейтинг элемента

Файлы

  1. modules/rating/rating.inc.php – формирование вывода рейтинга и формы для голосования;

  2. modules/rating/rating.view.php – шаблон вывода;

  3. modules/rating/rating.ajax.php – обработка запроса на добавление оценки;

  4. modules/rating/rating.install.php – установка модуля;

  5. modules/модуль/модуль.model.php – подключение рейтинга к модулям;

  6. modules/rating/admin/rating.admin.php – редактирование оценок;

  7. modules/rating/admin/rating.admin.edit.php – вывод рейтинга в административной части модулей;

  8. modules/rating/admin/rating.admin.save.php – сохранение рейтинга в административной части модулей;

  9. modules/rating/admin/rating.admin.del.php – удаление рейтинга при удалении элементов модулей;

  10. modules/rating/admin/rating.admin.config.php – конфигурация модуля.



Не понятно? Уточните