Fivestar - сортировка по количеству баллов

Главные вкладки

Аватар пользователя Korsarchik Korsarchik 24 июня 2010 в 19:07

есть материалы, требуется вывести блок с лучшими материалами по оценке пользователя,
через виевс есть возможность вывода по среднему арифметическому, при попытке вывода общего кол-ва баллов выводит пустой вивс
Буду благодарен за помощь в решении данной проблемы..
Собственно сам запрос

SELECT node.nid AS nid,
node.title AS node_title,
node_data_field_proizvedenie.field_proizvedenie_fid AS node_data_field_proizvedenie_field_proizvedenie_fid,
node_data_field_proizvedenie.field_proizvedenie_list AS node_data_field_proizvedenie_field_proizvedenie_list,
node_data_field_proizvedenie.field_proizvedenie_data AS node_data_field_proizvedenie_field_proizvedenie_data,
node.type AS node_type,
node.vid AS node_vid,
votingapi_cache_node_percent_vote_sum.value AS votingapi_cache_node_percent_vote_sum_value
FROM node node
INNER JOIN votingapi_cache votingapi_cache_node_percent_vote_sum ON node.nid = votingapi_cache_node_percent_vote_sum.content_id AND (votingapi_cache_node_percent_vote_sum.content_type = 'node' AND votingapi_cache_node_percent_vote_sum.value_type = 'percent' AND votingapi_cache_node_percent_vote_sum.tag = 'vote' AND votingapi_cache_node_percent_vote_sum.function = 'sum')
LEFT JOIN content_type_proizvedenie node_data_field_proizvedenie ON node.vid = node_data_field_proizvedenie.vid
WHERE node.type in ('proizvedenie')
ORDER BY votingapi_cache_node_percent_vote_sum_value DESC

Комментарии

Аватар пользователя Korsarchik Korsarchik 25 июня 2010 в 8:27

это не доказательство, там сортировка по среднему арифметическому, а мне нужно:
1 проголосовал - 4 балла
2 проголосовал - 5 баллов
3 проголосовал - 2 балла
итого баллов у ноды 11, вот по этому числу и нужна сортировка

Аватар пользователя Ljohn Ljohn 5 июля 2010 в 10:50

Была та же самая проблема.
В конце концов разобрался - в модуле Voting API в функции _votingapi_get_standard_results сумма считается только для значений типа points, в Fivestar же значения - проценты. Как сменить тип в Fivestar не понял, просто закоментил условие.

Аватар пользователя Korsarchik Korsarchik 10 июля 2010 в 14:24

"Ljohn" wrote:
Была та же самая проблема.
В конце концов разобрался - в модуле Voting API в функции _votingapi_get_standard_results сумма считается только для значений типа points, в Fivestar же значения - проценты. Как сменить тип в Fivestar не понял, просто закоментил условие.

можно поподробнее?

Аватар пользователя Ljohn Ljohn 10 июля 2010 в 22:30

Открываешь папку модуля, смотришь основной файл. Находишь функкцию _votingapi_get_standard_results и просто коментишь условие на points

Аватар пользователя Arturus Arturus 11 июля 2011 в 13:06

Можно реализовать хитрым путем
В Relationships добавляем 3 значения Vote results каждое называем по своему
1 - для показа звезд
2 - для сортировки по количеству голосов
3 - для фильтра по лучшему среднему
Выводим звезды по 1
Ставим сортировку по 2
Ставим фильтр по 3
Ставим фильтр по периоду времени