Ajoutez des points d'utilisateur pour chaque vote positif

8

Mon site drupal 7 dispose d'un système de notation des utilisateurs pour le contenu des auteurs, mais le problème est que chaque vote positif et négatif n'ajoute pas automatiquement de points dans le profil des utilisateurs. Mais je pense que c'est possible grâce au module User Points . À partir de la page du module Userpoints Karma, j'ai appris que le module vote / up down permet à un électeur d'ajouter ou de soustraire des points à l'auteur d'un nœud ou d'un commentaire donné, récompensant ou punissant ainsi l'auteur pour ce qu'il a écrit.
J'ai donc configuré avec succès le module vote / up down , voici une capture d'écran d'une vue de mon site Web:
entrez la description de l'image ici
Maintenant ma question est, comment ajouter automatiquement des points pour les votes en utilisant le module vote / up down et le module User Points? Donc, si un utilisateur vote un contenu, alors l'utilisateur pointe pour cet auteur de contenu 10 + 5 = 15! {Voici 10le point utilisateur précédent pour l'auteur du contenu et 5la valeur de chaque vote positif!} Je ne comprends pas comment procéder automatiquement? Des idées? Merci

rakibtg
la source

Réponses:

6

Theres est un module pour ajouter des règles à l'API de vote: http://drupal.org/project/voting_rules

Userpoints est livré avec le support des règles natives.

Je viens de mettre le tout sur mon environnement de test, a ajouté une nouvelle règle avec

Event: User votes on a Node

Condition: User has role(s)
Parameter: User: [vote:user], Roles: authenticated user

Condition: Check the value of the vote
Parameter: Vote: [vote], Operator: is greather than, Data value: 0

Action
Grant points to a user
Parameter: User: [vote:user], Points: 5, Points category: General, Operation: Insert, Moderate: Use the site defaul

info supplémentaire: vous devez activer les userpoints et userpoints_rules ainsi que voter_rules

Voici l'exportation de la règle

{ "rules_reward_voter" : {
    "LABEL" : "reward voter",
    "PLUGIN" : "reaction rule",
    "REQUIRES" : [ "rules", "voting_rules", "userpoints_rules" ],
    "ON" : [ "voting_rules_insert_node" ],
    "IF" : [
      { "user_has_role" : { "account" : [ "vote:user" ], "roles" : { "value" : { "2" : "2" } } } },
      { "voting_rules_condition_check_vote_value" : { "vote" : [ "vote" ], "operator" : "\u003E", "value" : "0" } }
    ],
    "DO" : [
      { "userpoints_action_grant_points" : {
          "user" : [ "vote:user" ],
          "points" : "5",
          "tid" : "0",
          "entity" : [ "" ],
          "operation" : "Insert",
          "display" : 1,
          "moderate" : "default"
        }
      }
    ]
  }
}
Andre Baumeier
la source
merci beaucoup pour la réponse rapide, mais je suis juste coincé lors de la configuration de la condition dans la règle? Si possible, pouvez-vous me décrire davantage le processus?
rakibtg
J'ai fait une mise à jour à ce sujet
Andre Baumeier
merci beaucoup pour votre aide, je vais l'appliquer et vous frapper à nouveau si je suis coincé à nouveau;)
rakibtg
j'ai trouvé un problème, une augmentation du nombre de points utilisateurs pour l'électeur mais pas pour l'auteur! faites aussi quelque chose pour le vote négatif (-5 points) ... je suis un débutant chez drupal ... en passant merci pour votre aide:)
rakibtg
J'ai ajouté la condition. a mis à jour la réponse :)
Andre Baumeier