xandeadx.ru Блог музицирующего веб-девелопера

Drupal → Оценка пользователями материала с помощью выставления рейтинга в комментариях

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

Нужно — организовать систему, при которой пользователь сможет в комментарии оценить материал по одному или нескольким параметрам. В самом же материале будет выводится средний рейтинг (средние рейтинги):

Решение с помощью Fivestar (нужна dev версия от 2014-Mar-24 или выше):

  1. Если рейтингов будет несколько, то на странице admin/config/content/fivestar прописываем по тегу на каждый рейтинг:

    Названия тегов можно выбрать любые.

  2. Добавляем в нужный тип материала новое поле типа Fivestar Rating и виджетом Stars (rated while viewing) (именно "viewing", это важно).

    Если рейтингов будет несколько, то в настройках поля нужно выбрать соответствующий voting tag, созданный в первом пункте:

  3. По аналогии создаём другие поля с указанием соответствующего voting tag.

  4. В настройках форматтера добавленных полей отключаем опцию Allow voting on the entity и выбираем тип отображения рейтинга — Average vote:

  5. Переходим к управлению полями комментариев и добавляем существующие поля рейтинга, но в качестве виджета выбираем Stars (rated while editing) (именно "editing", это важно):

  6. В настройках полей выбираем опцию Voting target равной Parent node, voting tag не изменяем:

  7. На странице admin/people/permissions даём право нужным ролям оценивать контент.

Profit.

Замечание — один пользователь может оценить материал только один раз, учитываться будет рейтинг последнего комментария. Анонимные пользователи различаются по IP (следует учесть при тестировании на локалке, где ip всегда один).

Инструкция написана на основе статьи Fivestar 7.x: Creating a User Comment/Rating and Average Rating for a Content type.
Похожая статья — Add Fivestar ratings in comments and display average rating in node.

Возможно кто-то знает лучшие способы создания подобных рейтингов?

Написанное актуально для Fivestar 2
Похожие записи

Комментарии RSS

Думаю для всяческих рейтингов лучше использовать модуль Rate, он более гибкий.

rate не имеет виджета для формы и не умеет обновлять среднее значение родительской сущности

что то у меня вообще пропали Коментарии =(
В чем может быть дело?
Делал все как здесь на писано.
ЗЫ Только пришлось еще поставить модуль "votingapi"

Можно ли настроить так, чтобы учитывался не рейтинг последнего комментария, а среднее значение от всех комментариев ?

У меня не работает оценка в анонсе материала при просмотре, только в комментарии. Как это поправить?

Оставить комментарий

Содержимое этого поля является приватным и не будет отображаться публично. Если у вас есть аккаунт в Gravatar, привязанный к этому e-mail адресу, то он будет использован для отображения аватара.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Доступные HTML теги: <a> <i> <b> <strong> <code> <ul> <ol> <li> <blockquote> <em> <s>
  • Строки и параграфы переносятся автоматически.
  • Подсветка кода осуществляется с помощью тегов: <code>, <css>, <html>, <ini>, <javascript>, <sql>, <php>. Поддерживаемые стили выделения кода: <foo>, [foo].

Подробнее о форматировании