Para D7, recomiendo optar por una combinación de estos módulos alternativos, y de uso frecuente, para restar (o agregar) puntos de usuario cuando se rechaza algún nodo (o dicho voto negativo se elimina nuevamente, lo que también puede suceder ...):
A continuación se encuentran las reglas requeridas, para cada uno de estos casos (use la interfaz de usuario de reglas para importarlas en su propio sitio, después de habilitar los módulos requeridos mencionados anteriormente). Suposiciones hechas en estas reglas:
- Usan un tipo de contenido con el nombre de la máquina
article
(adapte este nombre para que se ajuste al nombre de su propia máquina u omita esa Condición de reglas para habilitar cualquier tipo de contenido que pueda votarse).
- El valor de un voto negativo coincide con "
-1
".
Votar a favor de un nodo
La siguiente regla restará -2 (otorgar -2) puntos de usuario para un voto negativo (al autor del nodo) ... Y también -1 punto de usuario para el votante:
{ "rules_votedown_node" : {
"LABEL" : "votedown_node",
"PLUGIN" : "reaction rule",
"OWNER" : "rules",
"REQUIRES" : [ "rules", "voting_rules", "userpoints_rules" ],
"ON" : { "voting_rules_insert_node" : [] },
"IF" : [
{ "node_is_of_type" : {
"node" : [ "node" ],
"type" : { "value" : { "article" : "article" } }
}
},
{ "voting_rules_condition_check_vote_value" : { "vote" : [ "vote" ], "value" : "-1" } }
],
"DO" : [
{ "userpoints_action_grant_points" : {
"user" : [ "node:author" ],
"points" : "-2",
"tid" : "0",
"entity" : [ "" ],
"description" : "Receive downvote to [node:type-name] \u0022[node:title]\u0022",
"operation" : "DownvoteReceived",
"reference" : "By uid=[vote:uid], for [node:type-name] to q=\u003Ca href=\u0022\/node\/[node:nid]\u0022\u003E[node:title]\u003C\/a\u003E",
"display" : "1",
"moderate" : "default"
}
},
{ "userpoints_action_grant_points" : {
"user" : [ "vote:user" ],
"points" : "-1",
"tid" : "0",
"entity" : [ "" ],
"description" : "Issue downvote to [node:type-name] \u0022[node:title]\u0022",
"operation" : "DownvoteIssued",
"reference" : "From uid=[node:author:uid], for [node:type-name] to q=\u003Ca href=\u0022\/node\/[node:nid]\u0022\u003E[node:title]\u003C\/a\u003E",
"display" : "1",
"moderate" : "default"
}
}
]
}
}
Cancelar el voto negativo a un nodo
La siguiente regla otorgará +2 (= eliminar -2) puntos de usuario para un voto negativo cancelado (al autor del nodo) ... Y también +1 punto de usuario para el votante:
{ "rules_votedown_node_cancel" : {
"LABEL" : "votedown_node_cancel",
"PLUGIN" : "reaction rule",
"OWNER" : "rules",
"REQUIRES" : [ "rules", "voting_rules", "userpoints_rules" ],
"ON" : { "voting_rules_delete_node" : [] },
"IF" : [
{ "node_is_of_type" : {
"node" : [ "node" ],
"type" : { "value" : { "article" : "article" } }
}
},
{ "voting_rules_condition_check_vote_value" : { "vote" : [ "vote" ], "value" : "-1" } }
],
"DO" : [
{ "userpoints_action_grant_points" : {
"user" : [ "node:author" ],
"points" : "2",
"tid" : "0",
"entity" : [ "" ],
"description" : "Cancel downvote to [node:type-name] \u0022[node:title]\u0022",
"operation" : "DownvoteCancelled",
"reference" : "By uid=[vote:uid], for [node:type-name] to q=\u003Ca href=\u0022\/node\/[node:nid]\u0022\u003E[node:title]\u003C\/a\u003E",
"display" : "1",
"moderate" : "default"
}
},
{ "userpoints_action_grant_points" : {
"user" : [ "vote:user" ],
"points" : "1",
"tid" : "0",
"entity" : [ "" ],
"description" : "Withdraw downvote to [node:type-name] \u0022[node:title]\u0022",
"operation" : "DownvoteWithdrawn",
"reference" : "From uid=[node:author:uid], for [node:type-name] to q=\u003Ca href=\u0022\/node\/[node:nid]\u0022\u003E[node:title]\u003C\/a\u003E",
"display" : "1",
"moderate" : "default"
}
}
]
}
}
A pesar de que puede no ser evidente a partir de sólo la navegación por encima de las reglas exportadas, tenga en cuenta el description
, operation
y reference
se utiliza en cada una de las transacciones en el punto de usuario.
Usando tales reglas, la configuración de cuánto cobrar por votos a favor y / o votos negativos es solo una cuestión de adaptar los valores de los puntos de usuario que se otorgarán (o eliminarán) utilizando la interfaz de usuario de reglas.
También tenga en cuenta el description
, operation
y se reference
utiliza en cada una de las transacciones de Puntos de usuario. Eso también mejorará los informes típicos de Puntos de usuario (a través de los diversos detalles agregados en las transacciones de puntos de usuario reales).
Usando el módulo Reglas condicionales , también puede consolidar estas reglas en una sola regla (lo que simplifica su mantenimiento).
Tarea : adapte las reglas que se muestran arriba para implementar algo similar a las recompensas en SE (= transfiera una cierta cantidad de Puntos de usuario de un usuario a otro).
PD: " si rechazas algo, obtienes puntos de reputación acoplados " (en SE) solo es cierto para las respuestas, no para las preguntas. Para refinar eso como usted quisiera, es solo una cuestión de agregar una Condición de Reglas adicional apropiada (por ejemplo, basada en un tipo de contenido).