Fivestar, et User Points pourrait être utilisé à cette fin, mais vous obtenez seulement quelque chose de similaire à Stack Overflow.
Le premier module (qui nécessite Voting API) peut être utilisé pour permettre aux utilisateurs de voter, et le second module peut être utilisé pour transformer les votes en points pour les utilisateurs qui ont voté (entre autres - le module ne se limite pas à cette). Pour intégrer les deux modules, il existe un autre module, mais je ne suis pas sûr qu'il fasse partie des "User Points", ou User Points Contributed modules. Le problème avec Fivestar est que les utilisateurs sont autorisés à donner un vote de 1 à X (je pense que le vote maximum peut être changé), qui est différent du système de vote utilisé par Stack Overflow, où les utilisateurs peuvent simplement signaler " Je l'aime ", ou" je ne l'aime pas ". Avec Fivestar il n'y aurait que des votes positifs, et personne ne pourrait voter un commentaire, ou un nœud; il serait possible d'abaisser la moyenne en donnant le vote minimum. Entre les modules que j'ai énumérés, il n'y a pas un module qui permette de donner des points à l'auteur du nœud/commentaire; en utilisant "Voting API", et "User Points" il serait possible de le faire, mais aucun module que j'ai regardé ne permet de le faire (cela signifie que vous pourriez probablement écrire un module personnalisé).
Si vous regardez le list of the modules inclus dans le profil d'installation ArrayShift, vous pouvez avoir une idée des modules que vous pouvez utiliser pour atteindre le même objectif.
La liste des modules comprend
- Node comments, qui transforme des commentaires dans pleins noeuds; avec ce module, par exemple, il est possible d'utiliser un module de vote qui ne fonctionne que pour les nœuds avec des commentaires aussi.
- Voting API.
- Vote UP/Down qui permet aux utilisateurs de voter ou de voter en bas.
- User Points.
- ArrayShift Support Modules; il est probable que ce module contienne du code permettant aux auteurs de nœuds d'obtenir des points chaque fois qu'un nœud qu'ils ont créé est voté.
En particulier, un module qui fait partie de ArrayShift Support Modules (as_tweaks) contient le code suivant:
/**
* Below, a bunch of simple hook implementations that award userpoints based
* on various events that happen. In theory, Rules module and various other tools
* could be used to do these things, but most of those modules don't have easy
* to export/import configuration data.
*/
// VotingAPI hook. When a user casts a vote on a node, the author should
// get/lose points..
function as_tweaks_votingapi_insert($votes) {
foreach ($votes as $vote) {
if ($vote['content_type'] == 'node' && ($node = node_load($vote['content_id']))) {
// Award the points
userpoints_userpointsapi(array(
'uid' => $node->uid,
'points' => $vote['value'] * 10,
'operation' => 'vote up',
'entity_id' => $node->nid,
'entity_type' => 'node',
));
}
}
}
// VotingAPI hook. When a user casts a vote on a node, the author should
// get/lose points..
function as_tweaks_votingapi_delete($votes) {
foreach ($votes as $vote) {
if ($vote['content_type'] == 'node' && ($node = node_load($vote['content_id']))) {
// Award the points
userpoints_userpointsapi(array(
'uid' => $node->uid,
'points' => $vote['value'] * -10,
'operation' => 'vote up',
'entity_id' => $node->nid,
'entity_type' => 'node',
));
}
}
}
Essayez http://drupal.org/project/userpoints – gagarine