J'ai installé le module de tarif et a découvert que les votes associés à un nœud sont stockés dans la table VOTIGEAPI_Vote.
[.____] Y a-t-il une fonction à utiliser pour obtenir la somme de tous les votes pour un nœud?
Avec Drupal 7, vous pouvez obtenir des informations de vote par programme à l'aide de la fonction votingapi_select_results ().
Ex:
$criteria = array();
$criteria["entity_id"] = $nid;
$criteria["entity_type"] = "node";
$criteria["value_type"] = "points";
$criteria["tag"] = "hopper";
//$criteria["function"] = "count"; // don't set, and get an array of all.
$res = votingapi_select_results($criteria);
Si vous examinez ensuite (ex: dpm ($ res)), vous pouvez voir que RES $ est un tableau de toutes les informations dont vous aurez besoin pour chaque "fonction" de votre widget de vote.
Pour déterminer quelle "valeur_type" et "étiquette" à utiliser, regardez la table VOTIGEAPI_Cache.
Créez d'abord les relations de suivi:
Contenu: Résultats du vote - Type de valeur: Pas de filtrage - Fonction d'agrégation: Vote moyenne.
Deuxièmement, créez la même relation de modification de la fonction d'agrégat sur: Nombre de votes et identifiant à: Résultat du vote (rang.)
Troisièmement, ajoutez le critère de tri suivant: Résultats du vote: valeur (Desc.)
Enfin, ajoutez un autre critère de tri identique à celui que vous venez de créer, sauf que vous sélectionnerez la deuxième relation (résultat de vote (rang.) L'ordre de tri décroit également.
Cela vous donnera les résultats souhaités: les nœuds sont maintenant correctement classés.
Vous pouvez le tester en activant le texte à afficher sous les étoiles: vote de l'utilisateur et moyen dans le champ de notation.