[Userpoints] Punkte gutschreiben bei Registrierung mit Gutscheincode
am 07.08.2019 - 11:11 Uhr in
Hi Leute,
ich verwende für meine Seite www.bockaufkarlsruhe.de aktuell das Modul "Userpoints" mit diversen Erweiterungen, so dass die Nutzer z.B. eine Belohnung erhalten, wenn sie einen Kommentar schreiben. Später können Sie die Punkte in Gutscheine in der Stadt einlösen (über Rules gelöst).
Nun will ich als Promo-Aktion einen Gutscheincode (z.B. "50Punktegratis") in das Registrierungsformular einbauen und diesen Code verteilen, so dass die Nutzer von Beginn an einen Anreiz haben, sich zu registrieren. Die 50 Punkte können sie dann nämlich sofort in einen Gutschein einlösen.
Hat jemand eine Idee, wie ich das lösen könnte? Kennt zufällig jemand eine Userpoints-Ergänzung, mit der ich das realisieren könnte?
Viele Grüße,
Chris
- Anmelden oder Registrieren um Kommentare zu schreiben
Ich denke, das bekommt man
am 07.08.2019 - 11:55 Uhr
Ich denke, das bekommt man auch mit Rules hin. Du fügst dem Registrierungsformular ein neues Feld hinzu und überprüfst dann in Rules, ob in dieses Feld "50Punktegratis" eingegeben wurde und schreibst dann die Punkte gut. Schau dazu auch mal hier rein:
https://www.drupal.org/node/874400
Funktioniert teilweise!
am 11.09.2019 - 14:44 Uhr
Hi @bv,
vielen Dank für deine Antwort!
Ich habe, so wie du beschrieben hast, ein neues Feld im Registrierungsformular hinzugefügt und eine entsprechende Regel zur Abfrage desgleichen erstellt. Weil es das hier beschriebene Event "User account has been created" nicht in meiner Auswahl verfügbar ist, hab ich es mit "After saving a new user account" probiert. Hier gab es allerdings keine Änderung. Alternativ habe ich mit den anderen ähnlichen Events noch herumprobiert, aber leider ohne Erfolg. Nach etwas Recherche bin ich auf eine alternative Möglichkeit gestoßen: Beim 1. Login (und nur dann!) soll abgefragt werden, ob in dem Feld der richtige Code steht und falls ja, dann eben die Punkte gutgeschrieben werden. Es sieht aktuell so aus:
EVENT
User has logged in
CONDITIONS
AKTIONEN
Grant BOCK-Punkte to a user: Parameter: Benutzer: [site:current-user], BOCK-Punkte: +50, BOCK-Punkte category: Gönnung, Beschreibung: Gutscheincode O-Phase 2019, Aktion: Gutscheincode eingelöst, Moderate: Automatically approved
Es scheint wie gewünscht zu funktionieren, nur mit der 2. Bedingung (PHP-Code, hab ich von hier) scheint etwas nicht zu stimmen. Sobald ich die Bedingung nämlich aktiviert habe, kommt lediglich eine Fehlerseite. Wenn ich sie nicht aktiviert habe, wird die Abfrage halt bei jedem Login überprüft und jedes Mal 50 Punkte gutgeschrieben. Genau das will ich ja aber nur beim allerersten Login.
Wie kann ich das erreichen? Seht ihr zufällig meinen Fehler, oder eine alternative Lösung?
Viele Grüße und vielen Dank bereits im Voraus,
Chris
Initiator "BOCK auf Karlsruhe"
www.bockaufkarlsruhe.de
www.instagram.com/bockaufkarlsruhe
www.facebook.com/bockaufkarlrsruhe
Chris747 schrieb Execute
am 11.09.2019 - 14:52 Uhr
Execute custom PHP code: return (user_stats_get_stats('login_count', $account->uid) == 1)
Das kann nur funktionieren, wenn du dieses Modul installiert hast: https://www.drupal.org/project/user_stats
Hast Du denn das user_stats
am 11.09.2019 - 15:04 Uhr
Hast Du denn das user_stats Modul überhaupt installiert? Diese Statistik Daten werden nämlich nicht standartmäßig erhoben.
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *
Danke, ihr beiden! :) Daran
am 11.09.2019 - 16:15 Uhr
Danke, ihr beiden! :) Daran lag es, ich hatte das Modul gar nicht installiert. Jetzt funktioniert es wie gewünscht. Vielen Dank für eure Hilfe.
Initiator "BOCK auf Karlsruhe"
www.bockaufkarlsruhe.de
www.instagram.com/bockaufkarlsruhe
www.facebook.com/bockaufkarlrsruhe