Userpoints - points for node author if someone comments
Eingetragen von derBen (432)
am 07.09.2007 - 15:33 Uhr in
am 07.09.2007 - 15:33 Uhr in
Ich würde gerne das userpoints modul benutzen, um node autoren punkte zu geben, wenn jemand seinen/ihren beitrag kommentiert.
Das userpoints modul ist ja anscheinen für so etwas aufgebaut.
gibt es hier irgend jemanden, der so etwas basteln könnte?
Ich arbeite zwar daran, und lese mich momentan ein, denke aber das ich noch nicht so weit bin, ein eigenes modul zu entwickeln.
lg
Ben
- Anmelden oder Registrieren um Kommentare zu schreiben
Hallo Ben,ich bin mir
am 10.09.2007 - 15:41 Uhr
Hallo Ben,
ich bin mir ziemlich sicher, dass Du das hinbekommst.
Hier mal ein Ansatz ((fast) ungetestet):
<?php
define('USERPOINTS_POST_COMMENT','userpoints_post_comment');
function userpoints_authorpoints_comment($comment, $op) {
$points = variable_get(USERPOINTS_POST_COMMENT, 0);
switch($op) {
case 'insert':
$node = node_load(arg(2));
$author_id = $node->uid;
userpoints_userpointsapi('points', $points, $author_id, 'post comment');
break;
case 'delete':
$points = -$points;
$node = node_load(arg(2));
$authorid = $node->uid;
userpoints_userpointsapi('points', $points, $author_id, 'post comment');
break;
}
}
Probier das mal aus. Meinolf hat hier beschrieben, wie man auf die Schnelle ein Modul erstellt: http://www.drupalcenter.de/handbuch/4698
--
bv - drupalcenter.de
Jo Björn, so gut bin ich
am 12.09.2007 - 14:37 Uhr
Jo Björn, so gut bin ich dann auch nicht. Ich habe den code in die modul-datei kopiert, modul aktiviert und einen Kommentar geschreiben. Das Modul hat zwar keine Fehlermeldungen produziert, aber auch dem node autoren keine punkte gutgeschrieben. Mit zwei sachen kann ich wenig anfangen:
define('USERPOINTS_POST_COMMENT','userpoints_post_comment');
ist USERPOINTS_POST_COMMENT nicht schon im der userpoints_basic modul definiert? Beißt sich das nicht?
und was ist:
node_load(arg(2));
?
--
mehr Sonne fuer Afrika!
__
http://aureli.us
Dateinamen?
am 12.09.2007 - 15:06 Uhr
Jo Björn, so gut bin ich dann auch nicht.
Ach, hör auf tiefzustappeln, Ben. ;)
Ich habe den code in die modul-datei kopiert, modul aktiviert und einen Kommentar geschreiben. Das Modul hat zwar keine Fehlermeldungen produziert, aber auch dem node autoren keine punkte gutgeschrieben. Mit zwei sachen kann ich wenig anfangen:
define('USERPOINTS_POST_COMMENT','userpoints_post_comment');
ist USERPOINTS_POST_COMMENT nicht schon im der userpoints_basic modul definiert? Beißt sich das nicht?
Du hast recht, wahrscheinlich wird's nicht benötigt. Aber die Funktion des Moduls wird dadurch auch nicht beeinträchtigt... :)
und was ist:
node_load(arg(2));
?
Das holt die dritte Komponente der URL - besser gesagt - des aktuellen Systempfades. Beim Anlegen eines Kommentares lautet die URL "/comment/reply/Node-ID/". Mit arg(2) kommen wir an die Node-ID, anhand derer wir uns die ID des Autors holen.
Evtl. steht die Variable beim Anlegen eines Kommentares auch in anderer Form zur Verfügung, aber auch das ist für die reine Funktion des Moduls erstmal egal.
Der Fehler liegt sehr wahrscheinlich woanders. Haben die Modul-Dateien die richtigen Namen? Sie müssen userpoints_authorpoints.module und userpoints_authorpoints.info heissen und im besten Fall noch in einem Ordner userpoints_authorpoints liegen.
--
bv - drupalcenter.de
Ahhhhh geht! einmal 100
am 12.09.2007 - 20:32 Uhr
Ahhhhh geht! einmal 100 Punkte für Björn!!!! Danke dir!
__
http://aureli.us