Drupal通过代码在投票API中创建投票

时间:2011-02-26 02:12:58

标签: api drupal module voting

我有一个我正在编写的自定义模块,我想要它做的一部分是创建一个与节点相关的投票,我正在试图弄清楚如何从我的模块调用投票API。我在文档中读到了,但它有点稀疏。

2 个答案:

答案 0 :(得分:3)

这是我刚才写的模块的一个例子。

while ($data = db_fetch_object($result)) {
  $node = node_load($data->nid);
  $node_terms = taxonomy_node_get_terms($node);
  $vote['value'] = 0;
  $vote['value_type'] = 'points';
  foreach ($node_terms as $term) {
    $vote['value'] = $vote['value'] + $users_tags[$term->name];
  }
  $vote['content_id'] = $node->nid;
  if (isset($vote['content_id'])) {
    votingapi_set_votes($vote);
  }
}

答案 1 :(得分:0)

使用它的另一个例子:

function _ept_set_vote($nid, $status, $uid = NULL) {
  global $user;

  $vote = array(
    array(
      'entity_type' => 'node',
      'value' => 1,
      'entity_id' => $nid,
      'uid' => (!$uid) ? $user->uid : $uid,
      'tag' => $status
    )
  );

  votingapi_set_votes($vote, array());
}

我称之为:

switch($task_status){
      case('start'):
        _ept_set_vote($nid, "Start");
        break;
      case('completed'):
        _ept_set_vote($nid, "Completed");
        break;
    }
相关问题