it-swarm-ko.tech

Vote API에서 투표 결과를 얻으려면 어떻게합니까?

요금 모듈을 설치했으며 노드와 관련된 투표가 votingapi_vote 테이블에 저장되어 있음을 알았습니다.
노드에 대한 모든 투표의 합을 얻는 데 사용할 수있는 기능이 있습니까?

5
enjoylife

Rate 모듈을 설치하면 rate_get_results () 함수를 사용할 수 있습니다. rate_get_results('node', $nid, $widget_id); $nid는 결과를 얻으려는 노드의 노드 ID이고 $widget_id는 투표를하는 데 사용되는 위젯의 식별자입니다.
결과는 많은 값을 포함하는 배열입니다 (일부는 특정 위젯에 대해서만 존재 함). 특히 $output['rating']는 등급이고 $output['count']는 투표 수입니다.
위젯이 투표 합계를 저장하면 $output['rating'] (여기서 $output에는 rate_get_results('node', $nid, $widget_id)에서 반환 된 결과가 포함됨), 당신이 찾고있는 것입니다.

2
kiamlaluno

_ votingapi_get_standard_results () 를 사용하십시오!

1
Alex Weber

Drupal 7을 사용하면 votingapi_select_results () 함수를 사용하여 프로그래밍 방식으로 투표 정보를 얻을 수 있습니다.

전의:

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

그런 다음 (예 : dpm ($ res)) 검사하면 $ res가 투표 위젯의 각 "기능"에 필요한 모든 정보의 배열임을 알 수 있습니다.

사용할 "value_type"및 "tag"를 확인하려면 votingapi_cache 테이블을보십시오.

0
Richard

먼저 다음 관계를 작성하십시오.

내용 : 투표 결과-값 유형 : 필터링 없음-집계 기능 : 평균 투표.

둘째, 집계 함수를 다음과 같이 변경하여 동일한 관계를 다시 만듭니다. 투표 수와 식별자를 투표 결과 (순위)로 변경합니다.

셋째, 다음과 같은 정렬 기준을 추가하십시오. 투표 결과 : 가치 (desc.)

마지막으로 두 번째 관계 (투표 결과 (순위))를 선택한다는 점을 제외하고 방금 만든 것과 동일한 다른 정렬 기준을 추가합니다 (정렬 결과도 내림차순).

원하는 결과를 얻을 수 있습니다. 이제 노드의 순위가 올바르게 지정되었습니다.

별표 아래에 텍스트를 표시하여 등급 필드의 사용자 및 평균 투표 모두를 사용하여이를 테스트 할 수 있습니다.

0
user14666