it-swarm-eu.dev

Jak získám výsledek hlasování v hlasovacím rozhraní API?

Nainstaloval jsem modul sazeb a zjistil jsem, že hlasy spojené s uzlem jsou uloženy v tabulce hlasováníapi_vote.
Existuje funkce, pomocí které se získá součet všech hlasů pro uzel?

5
enjoylife

Po instalaci modulu Rate můžete použít funkci rate_get_results () , kterou lze nazvat rate_get_results('node', $nid, $widget_id); $nid Je ID uzlu uzlu, pro který chcete získat výsledek, a $widget_id Je identifikátor widgetu použitého k odevzdání hlasu.
Výsledkem je pole, které obsahuje mnoho hodnot (některé z nich jsou přítomny pouze pro konkrétní widget); zejména $output['rating'] je hodnocení a $output['count'] je počet hlasů.
Pokud widget uloží součet hlasů, pak $output['rating'] (Kde $output Obsahuje výsledek vrácený z rate_get_results('node', $nid, $widget_id)) obsahuje součet hlasů, to je to, co hledáte.

2
kiamlaluno
1
Alex Weber

Pomocí Drupal 7) můžete získat informace o hlasu programově pomocí funkce hlasováníi_select_results ().

Příklad:

$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);

Pokud pak prozkoumáte (např .: dpm ($ res)), uvidíte, že $ res je pole všech informací, které budete potřebovat pro každou „funkci“ hlasovacího widgetu.

Chcete-li zjistit, který "value_type" a "tag" použít, podívejte se na tabulku hlasováníapříspěvek.

0
Richard

Nejprve vytvořte následující vztahy:

Obsah: Výsledky hlasování - Typ hodnoty: Žádné filtrování - Agregační funkce: Průměrný hlas.

Za druhé vytvořte stejný vztah a změňte funkci agregace na: Počet hlasů a identifikátor na: Hlasujte výsledek (pořadí).

Za třetí, přidejte následující kritérium třídění: Výsledky hlasování: Hodnota (popis)

Nakonec přidejte další kritérium třídění shodné s tím, které jste právě vytvořili, kromě toho, že vyberete druhý vztah (výsledek hlasování (hodnocení). Pořadí řazení také klesá.

To vám poskytne požadované výsledky: Uzly jsou nyní správně hodnoceny.

Můžete to vyzkoušet povolením zobrazení textu pod hvězdami: Uživatel i průměrný hlas v poli hodnocení.

0
user14666