Saya ingin menambahkan tipe konten setelah pengguna mendaftar ke situs.
Saya mencoba hook_user_save()
tetapi itu menyimpan jenis konten sebelum pengguna mengkonfirmasi email-nya.
Apakah ada kaitan setelah konfirmasi email?
Meskipun pendekatan ini menggunakan modul, saya menambahkan node setelah pengguna mengkonfirmasi email mereka menggunakan Logintoboggan dan Aturan . Integrasi aturan Logintoboggan menambahkan acara baru When the user account is validated
, yang akan memungkinkan Anda untuk melakukan tindakan setelah konfirmasi email.
Ini bekerja untuk saya:
sumber
if($account->uid && $account->original->status == 0 && $account->status == 1)
Jika Anda menggunakan modul LoginToboggan untuk validasi email dan Anda tidak ingin menggunakan modul aturan, Anda cukup meniru respons validasi modul (mengeksploitasi
logintoboggan_email_validated = TRUE
properti akun sementara yang didorong ke hook_user_update) sendiri dalam kode:Karena modul inti dan lainnya juga akan mengaktifkan hook_user_update Anda ingin menerapkan sesuatu untuk menghindari tindakan berulang. Dalam contoh ini saya menetapkan properti lain pada $ akun setelah tindakan dimulai tetapi Anda dapat menerapkan kontrol yang lebih baik jika perlu.
Perhatikan bahwa jika menggunakan LoginToboggan untuk validasi e-mail otomatis, metode IOco tidak akan berfungsi (di antara banyak alasan - selama hook_user_presave, $ akun-> status == 1 (hanya perannya ada dalam "pra-resmi" yang Anda pilih) negara).
sumber