Ich möchte einen Inhaltstyp hinzufügen, nachdem sich ein Benutzer auf der Site registriert hat.
Ich habe es versucht, hook_user_save()
aber es speichert den Inhaltstyp, bevor der Benutzer seine E-Mail bestätigt.
Gibt es nach der E-Mail-Bestätigung einen Haken?
Das macht den Job für mich:
quelle
if($account->uid && $account->original->status == 0 && $account->status == 1)
Wenn Sie das LoginToboggan-Modul für die E-Mail-Validierung verwenden und das Regelmodul nicht verwenden möchten, können Sie die Validierungsantwort des Moduls (Ausnutzung einer temporären
logintoboggan_email_validated = TRUE
Kontoeigenschaft, die an hook_user_update gesendet wird) einfach selbst im Code nachahmen:Da Core- und andere Module auch hook_user_update aufrufen, möchten Sie etwas implementieren, um wiederholte Aktionen zu vermeiden. In diesem Beispiel habe ich eine andere Eigenschaft für das $ -Konto festgelegt, sobald die Aktion gestartet wurde. Sie können jedoch bei Bedarf eine genauere Kontrolle festlegen.
Beachten Sie, dass bei Verwendung von LoginToboggan für die automatische E-Mail-Validierung die IOco-Methode nicht funktioniert (unter den vielen Gründen - während eines hook_user_presave ist der $ account-> status == 1 (es ist nur die Rolle in Ihrem gewählten "vorautorisierten"). Zustand).
quelle