Domanda

Sto usando Drupal 6.13, Visualizzazioni 6.x-2.6, API di voto 6.x-2.3, Fivestar 6.x-1.18.

Ho un tipo di contenuto con campo di tipo Fivestar Rating. Ho una visione in cui la mia intenzione è quella di elencare tutti i nodi con questo tipo di contenuto ordinati in ordine decrescente in base alla valutazione media complessiva. Il punto di vista funziona in quanto mostra le informazioni corrette (il voto dell'utente con possibilità di voto e il voto medio complessivo). Ma per la vita di me non riesco a metterlo in ordine correttamente.

Nella vista, ho una relazione con " Nodo: risultati di voto " ;, tipo di valore = " percentuale " ;, tag di voto = " normale " ;, funzione di aggregazione: " media " ;.

Ho provato un sacco di cose, ma quello che mi aspetto di funzionare è aggiungere un " Criteri di ordinamento " con " (Risultati del voto) Risultati del voto: Valore " e discendente. Quando lo faccio se guardo la query sql e vedo " ORDER BY node_title ASC " che ovviamente non è giusto. Mi aspetto di vedere " ORDINA PER votingapi_cache_node_percent_vote_average_value DESC " ;. Qualsiasi suggerimento sarebbe molto apprezzato.

Query qui:

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
È stato utile?

Soluzione 2

Ah, l'ho capito. Stavo usando lo stile Tabella e c'era un ordinamento predefinito impostato sul titolo del nodo che faceva ignorare tutti i criteri di ordinamento.

Altri suggerimenti

È piuttosto bizzarro; la vista 'top_content' inclusa in VotingAPI include una visualizzazione 'Fivestar' che imposta esattamente la relazione che stai descrivendo. Funziona o mostra il problema che stai riscontrando?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top