drupal - 如何使用 Drupal Fivestar 平均评分对 View 进行排序?

标签 drupal drupal-views drupal-fivestar

我正在使用 Drupal 6.13、Views 6.x-2.6、投票 API 6.x-2.3、Fivestar 6.x-1.18。

我的内容类型的字段类型为五星级。我有一个 View ,我的目的是列出具有此内容类型的所有节点,按总体平均评分降序排列。该 View 有效,因为它显示了正确的信息(有投票能力的用户投票和总体平均投票)。但我一辈子都无法让它正确排序。

在 View 中,我与“节点:投票结果”有关系,值类型=“百分比”,投票标签=“正常”,聚合函数:“平均值”。

我已经尝试了很多方法,但我期望的工作是添加一个“排序标准”,其中包含“(投票结果)投票结果:值”和降序。当我这样做时,如果我查看 sql 查询,我会看到“ORDER BY node_title ASC”,这显然是不正确的。我希望看到“ORDER BY Votingapi_cache_node_percent_vote_average_value DESC”。任何指示将不胜感激。

在此查询:

SELECT node.nid AS nid,
   node.title AS node_title,
   profile_values_profile_full_name.value AS profile_values_profile_full_name_value,
   users.uid AS users_uid,
   votingapi_vote_node_percent_vote_curuser.value AS votingapi_vote_node_percent_vote_curuser_value,
   votingapi_cache_node_percent_vote_average.value AS votingapi_cache_node_percent_vote_average_value
 FROM node node 
 LEFT JOIN votingapi_cache votingapi_cache_node_percent_vote_average ON node.nid = votingapi_cache_node_percent_vote_average.content_id AND (votingapi_cache_node_percent_vote_average.content_type = 'node' AND votingapi_cache_node_percent_vote_average.value_type = 'percent' AND votingapi_cache_node_percent_vote_average.tag = 'vote' AND votingapi_cache_node_percent_vote_average.function = 'average')
 LEFT JOIN votingapi_vote votingapi_vote_node_percent_vote_curuser ON node.nid = votingapi_vote_node_percent_vote_curuser.content_id AND (votingapi_vote_node_percent_vote_curuser.content_type = 'node' AND votingapi_vote_node_percent_vote_curuser.value_type = 'percent' AND votingapi_vote_node_percent_vote_curuser.tag = 'vote' AND votingapi_vote_node_percent_vote_curuser.uid = '***CURRENT_USER***')
 LEFT JOIN node_revisions node_revisions ON node.vid = node_revisions.vid
 LEFT JOIN users users_node_revisions ON node_revisions.uid = users_node_revisions.uid
 INNER JOIN users users ON node.uid = users.uid
 LEFT JOIN profile_values profile_values_profile_full_name ON users.uid = profile_values_profile_full_name.uid AND profile_values_profile_full_name.fid = '5'
 WHERE (node.type in ('passion_talk')) AND (node.status <> 0)
   ORDER BY node_title ASC

最佳答案

这很奇怪; VotingAPI 中包含的“top_content” View 包含一个“五星级”显示,可准确设置您所描述的关系。它有效吗,或者它是否显示您遇到的问题?

关于drupal - 如何使用 Drupal Fivestar 平均评分对 View 进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1416730/

相关文章:

python - 相当于 Drupal 的 CCK 和 View 模块的 Django 应用程序?

drupal - 隐藏只有一个结果的 View ?

javascript - Drupal 7 模板 View 预处理添加 javascript : what am I doing wrong?

php - Drupal - 我正在尝试使用 Fivestar 模块投票后刷新 View

php - 在 Drupal 7 中跳过对节点删除的验证

javascript - 如何扫描网站的静态副本以寻找被黑客入侵的证据

php - Drupal:在外部 php 文件中插入五星级小部件

html - 如何制作像 Microsoft Windows 网站上的菜单?

php - 如何将 drupal 事件日历与 Outlook 日历同步