Per D7, consiglio di optare per una combinazione di questi moduli alternativi e spesso utilizzati per sottrarre (o aggiungere) punti utente quando un nodo viene votato verso il basso (o tale downvote viene rimosso di nuovo, cosa che può accadere anche ...):
Di seguito sono riportate le regole richieste, per ciascuno di questi casi (utilizzare l'interfaccia utente delle regole per importarle nel proprio sito, dopo aver abilitato i moduli richiesti sopra menzionati). Ipotesi fatte in queste regole:
- Usano un tipo di contenuto con il nome della macchina
article(adattare questo nome per adattarlo al proprio nome della macchina o omettere quella Condizione delle regole per abilitare qualsiasi tipo di contenuto su cui è possibile votare).
- Il valore di un downvote corrisponde a "
-1".
Downvote di un nodo
La regola seguente sottraerà -2 (concedi -2) punti utente per un downvote (all'autore del nodo) ... E anche -1 punti utente per l'elettore:
{ "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"
}
}
]
}
}
Annulla il downvote di un nodo
La regola seguente garantirà +2 (= rimuovi -2) punti utente per un downvote annullato (all'autore del nodo) ... E anche +1 punto utente per l'elettore:
{ "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"
}
}
]
}
}
Anche se può non essere evidente da solo la navigazione delle regole esportate sopra, notare la description, operatione referenceusato in ciascuna delle operazioni punto di utilizzo.
Utilizzando tali regole, la configurazione di quanto addebitare per i voti positivi e / o negativi è solo una questione di adattamento dei valori dei punti utente da concedere (o rimuovere) utilizzando l'interfaccia utente delle regole.
Da notare anche la description, operatione referenceutilizzato in ciascuna delle transazioni Punti Utente. Ciò migliorerà anche i tipici rapporti dei punti utente (tramite i vari dettagli aggiunti nelle transazioni dei punti utente effettivi).
Utilizzando il modulo Regole condizionali , è possibile consolidare anche queste regole in un'unica regola (che semplifica la loro manutenzione).
Compiti a casa : adatta le regole mostrate sopra per implementare qualcosa di simile ai doni su SE (= trasferisci una quantità di punti utente da un utente a un altro).
PS: " se voti qualcosa in basso ottieni punti reputazione ancorati " (su SE) è vero solo per le risposte, non per le domande. Per perfezionare ciò che vorresti fosse, è solo una questione di aggiungere un'opportuna Condizione aggiuntiva alle Regole (ad es. Basata su un tipo di contenuto).