您在這裡

列出使用者各自的five star投票結果

tky's 的頭像
tky 在 2009-09-06 (周日) 23:13 發表

各位好:
最近在研究five star的整合。
five star提供簡易的評比功能,可以針對node、comment甚至user進行程度好壞的評比。

雖說five star可以和views整合,官網教學影片是針對單一node的「評比平均結果」以及「我的評比」來製作view範例,步驟頗為複雜。
然而TKY的要求比較多一點:TKY設定使用者必須(也只能)在回應的時候進行評比,投下他們對該node的評比。所以每篇回應都會列出使用者各自的評比結果,node則顯示平均的評比結果。

現在要製作一個comment view,列出最新的回應,同時在每篇回應旁列出回應者所投出的票數。
這想法簡單,但做起來難。
主要是因為評比是跟著node走的,而tky又想不出來要怎麼過濾出「發表回應的使用者在該次回應時所作出的投票」。
所以做出來的結果都是會有重複資料的view(因為是必須以comment-node作為主要relationship,不然濾不出評比的資料,而一個node會有很多comments)。
這個邏輯性的問題似乎很難光用views就可以解決。

想請教大家有沒有比較好的解法

TKY

多謝thomasfan。
不過thomasfan所介紹的部份TKY已經透過官網的影片知道了。

按照relationship的邏輯,我們可以用views列出「node所獲得的平均分數」、「當前使用者對各個node的評比分數」。這些都是針對node的顯示方式,也很簡單。
tky現在一直想要試出一個進階的用法:同時顯示每個使用者在回應node時所投出的各自評比票數與回應標題。
thomasfan試一下就會知道這會有多難搞:因為當你列出使用者針對node的各自投票時,沒法子把使用者各自針對node的回應標題同時列在一個表格上而不造成重複資料。(雖然他們明明是在同一個操作步驟進行這兩部份的工作的)

試了好幾次,都試不出來。

或許這種顯示要求,只能用comment-node搭配five satr field才能作到吧?

tky

tky

謝謝lunderlini的幫忙。不過還是不成。
請lunderlini在表格中加「回應時間」和「投票時間」的欄位,然後再sort那邊以「投票時間」做排序,就會看出來哪裡不成了。
基本上,只要列出「個別投票者的投票值」加上「回應標題」,系統就會以node為主、而非comment為主,列出所有的項目。如此就會造成重複資料。

只要能夠做出一個過濾器,以「回應者id = 投票者id」過濾出回應者即是投票者的內容,就是TKY想要的效果了!

tky

tky

這部份我就幫不上了
我這邊的回應數太少,回應時間跟文章發布先後是一致的,看不出來哪邊會有問題
另外,你只要篩選出有回應同時有投票的人嗎?
如果是,或許把『回應:內文』跟『投票:值』均設定成『not empty』就好啦
然後這跟版本會有關嗎?
我是用drupal 6