2009-09-13 78 views
2

我使用Drupal 6.13,Views 6.x-2.6,投票API 6.x-2.3,Fivestar 6.x-1.18。如何使用Drupal Fivestar平均評分排序視圖?

我有一個字段類型爲Fivestar Rating的內容類型。我有一個觀點,我的意圖是列出所有節點,這個內容類型按照整體平均評分降序排列。該觀點正在發揮作用,它顯示了正確的信息(具有投票能力和整體平均投票的用戶投票)。但我不能爲了我的生活而讓它正確排序。

在視圖中,我與「Node:Vote results」,Value type =「Percent」,Vote tag =「Normal」,Aggregation function:「Average」有關係。

我試了一堆東西,但我期望的工作是添加「排序條件」與「(投票結果)投票結果:值」和降序。當我這樣做,如果我看看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 

回答

1

啊,我想通了。我使用的是表格樣式,並且在節點標題上設置了默認排序,導致所有排序條件被忽略。

2

這是相當奇怪的; VotingAPI包含的'top_content'視圖包含一個'Fivestar'顯示屏,可以精確設置您所描述的關係。它是否工作,還是顯示你遇到的問題?

+0

我不知道這樣的事情存在...我會檢查出來。 – 2009-09-13 03:52:00