Компонент Rating: рейтинг материала
Компонент предназначен для создания и вывода рейтинга каких-либо сущностей (новостей, статей, публикаций или самих пользователей). Право участвовать в рейтингах по умолчанию имеют только зарегистрированные пользователи.
Вывод рейтинга на странице
Вывод рейтинга осуществляется через хелпер rating. Через него доступны три метода:
- rating_indicator($material_id, $average = false) - выводит рейтинг в численном выражении.
- rating_control($material_id, $average = false)- выводит рейтинг + ссылки для голосования.
- create_rating($view, $material_id, $user_id = false, $time_end = false) - создает рейтинг с параметрами.
Переменные, которые передаются в методы:
- $material_id - любой набор символов, однозначно определяющий материал.
- $average - если параметр равен false, то будет выведено абсолютное значение рейтинга, в другом случае - среднее.
- $user_id - id пользователя.
- $time_end - время окончания голосования. Принимает timestamp или дату в форматах 'Y-m-d', 'Y-m-d H:i:s'.
В самом простом случае для реализации голосования нам достаточно вызвать метод rating_control(), который выведет и рейтинг и кнопки для голосования, а так же создаст голосование с параметрами по умолчанию (бессрочное, автор не указан).
Например в шаблоне новости:
// app/components/Nodus/app/Datatype/News/full.phtml ... <?= $this->rating->rating_control('news'.$item->id) ?> //.. $this->rating->rating_indicator('news'.$item->id) // рейтинг без ссылок для голосования ...
Если нужно указать автора (при этом, сам автор не сможет проголосовать за данный материал) или ограничить голосование временными рамками, то, до вызова rating_control() или rating_indicator(), следует вызвать метод create_rating(), передав ему необходимые параметры.