Drupal 视图每天显示最高评价的节点,一年中的每一天?
Posted
技术标签:
【中文标题】Drupal 视图每天显示最高评价的节点,一年中的每一天?【英文标题】:A Drupal view to show the top rated node per day, each day for a year? 【发布时间】:2011-05-06 21:24:40 【问题描述】:我有一个包含用户生成故事的网站。故事是节点。故事被评为五星级。
我想创建一个日历样式的视图来列出评分最高的故事 - 本年度的每一天。所以最后我会有一个 365 故事列表。
我不知道如何解决这个问题,任何帮助都会很棒。
【问题讨论】:
【参考方案1】:您可以创建一个带有 Date 参数的视图,您将在其中传递特定的一天”,并返回按 Fivestar 评级排序的结果,并将视图限制为 1 个结果。
然后在您的自定义日历中,每天和每次循环调用视图并显示结果,这将是“评分最高”的注释。虽然这可能有点矫枉过正,但它适用于显示当前评分最高的节点的块。我实际上不会将它用于整个月甚至一年的视图。
另一种选择是,每 24 小时 - 午夜过后 - 您使用该视图获取前一天评分最高的笔记,并将其存储或标记为评分最高。 这样,每天只会标记或存储 1 个节点,您可以构建一个视图,列出所有存储/标记的节点,按日期排序。评分在这里无关紧要,因为您在 Cron 中运行的视图已经获得了评分最高的视图。将此视图设置为网格的主题,并且可能带有参数 Month,这样您就可以接近每日评分最高的节点的月视图。
最后一个选项是构建一个视图,它获取所有节点,并按评级对它们进行排序,并按天对它们进行分组。然后确保每组只打印 1 个,即评分最高的一个。
【讨论】:
感谢 Vodde,我认为第一个选项 - 在这种情况下迭代一个块的效率太低了。第二个选项是不可取的,因为它不是实时的。第三种选择似乎是最好的。现在要弄清楚如何按天分组... :)以上是关于Drupal 视图每天显示最高评价的节点,一年中的每一天?的主要内容,如果未能解决你的问题,请参考以下文章
链接到 Drupal 视图中分组字段中的节点始终显示 /node/nid
在 Drupal Views 参数中,如何获取节点队列中的节点总数?