2011-05-06 1 views
1

У меня есть сайт с созданными пользователями историями. Истории - это узлы. Истории оцениваются с помощью Fivestar.Взгляд на Drupal, чтобы показать наивысший рейтинг узла в день, каждый день в течение года?

Я хочу создать вид в стиле календаря, чтобы перечислить самую популярную историю - каждый день, за текущий год. Поэтому в конце у меня будет список из 365 историй.

Я не уверен, как подойти к этому, любая помощь будет замечательной.

ответ

0

Вы можете сделать представление, которое принимает аргумент Date, в котором вы пройдете определенный день ', и результаты, отсортированные по рейтингу Fivestar, и ограничение результата View to 1.

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

Другим вариантом может быть то, что каждые 24 часа - и немного за полночь - вы используете этот вид, чтобы получить самую высокую оценку за предыдущий день, и сохраните или отметьте ее как рейтинг. Таким образом, только 1 Узел дня будет помечен или сохранен, и вы можете создать представление, в котором перечислены все хранящиеся/помеченные узлы, упорядоченные по дате. Рейтинг здесь неактуальен, так как The View, в котором вы играли в Cron, уже поднял рейтинг. Тема этого вида в виде сетки и, возможно, с аргументом «Месяц», и вы приближаетесь к календарю, например «Месяц», по рейтингу ваших рейтинговых узлов в день.

Последним вариантом было бы создание вида, который получает все узлы и сортирует их по рейтингу и группирует их по дням. Затем убедитесь, что вы печатаете только 1 за группу, а именно, самую высокую оценку.

+0

Спасибо Vodde, я думаю, что первый вариант - перебор по блоку слишком неэффективен в этом случае. Второй вариант не является желательным, поскольку он не в режиме реального времени. Третий вариант кажется лучшим. Теперь, чтобы разобраться, как группироваться днем ​​... :) – limbovski

Смежные вопросы