2010-09-20 7 views
2

J'ai un événement de type de contenu avec les champs date, tapez et en utilisant le module fivestar pour le vote. Le type prend 3 valeurs possibles 'art', 'divertissement', 'iq'. j'essaie de générer un bloc qui devrait afficher top événement (par votes) dans chaque catégorie. quelqu'un a une idée?drupal voir comment trouver top un dans toute la catégorie

Répondre

1

Vous devriez être en mesure de le faire relativement facile dans un module personnalisé, j'ai du mal à voir comment vous le feriez dans les vues avec l'interface utilisateur.

Vous avez besoin d'une requête qui ressemble à quelque chose comme ça

SELECT nid FROM {voting_api} AS v 
LEFT JOIN {content_content_type} AS c on v.content_id = c.nid 
WHERE c.field_name = 'art' 
AND v.function = 'count' 
AND c.content_type = 'node' 
ORDER BY v.value 
LIMIT 1; 

Vous devez exécuter une requête pour chaque valeur, art, divertissement et iq. Si vous voulez le rendre plus fiable, vous devez utiliser content_fields() et content_database_info() pour obtenir le nom de la table et le nom de colonne de votre champ CCK (qui peut changer avec le temps).

+0

merci googletorp. En tant que débutant aux vues, cela m'aide beaucoup – ArK