Представление Drupal для отображения узла с самым высоким рейтингом в день, каждый день в течение года? - PullRequest
1 голос
/ 07 мая 2011

У меня есть сайт с пользовательскими историями. Истории - это узлы. Истории оцениваются Fivestar.

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

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

1 Ответ

0 голосов
/ 07 мая 2011

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

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

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

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

...