Ketika seorang admin membuat akun baru (admin / orang / buat), mereka diminta untuk memasukkan kata sandi untuk akun tersebut. Klien saya menginginkannya bahwa ketika sebuah akun dibuat di bagian belakang, admin tidak perlu memasukkan kata sandi, tetapi pengguna dikirim pesan pemberitahuan dengan satu kali masuk log-in dan kemudian dapat mengatur kata sandi setelah masuk menggunakan itu. Apa cara terbaik untuk mencapai sesuatu seperti ini?
Saya telah memikirkan mungkin mengubah formulir untuk mengatur #default_value
bidang kata sandi menjadi kata sandi acak dan kemudian menetapkan '#access' => FALSE
, tetapi saya tidak yakin apakah itu cara terbaik untuk melakukannya.
hook_init()
untukdrupal_add_css()
setiap buka halaman ... itu juga duplikasi inti iniuser_password()
. Tidak lulus uji bau.user_password(mt_rand(10, 50))
atau sesuatu seperti itu pada saat pengiriman formulir.Jika Anda tidak suka memasang modul "Buat Kata Sandi" dan merasa nyaman menggunakan pengait, maka berikut ini alternatifnya:
Anda bisa membuatnya lebih canggih sesuai dengan selera Anda. Sebagaimana adanya, selalu menyembunyikan bidang kata sandi dan memberikan nilai sebagai gantinya - admin harus mengedit akun yang baru untuk menetapkan nilai tertentu. Ini juga membiarkan "notifikasi" defaultnya mati, sedangkan Anda mungkin lebih suka aktif.
Diperbarui sesuai jawaban @joe_flash (tetapi dalam bentuk yang sedikit lebih kompak): bidang kata sandi akan diperluas menjadi dua subbidang ("pass1" dan "pass2") ketika elemen diproses.
sumber
Jawaban AdamS hampir sampai. Karena bidang kata sandi akan diperluas menjadi dua subbidang ("pass1" dan "pass2") ketika elemen diproses (
form_process_password_confirm()
), Anda memerlukan sesuatu seperti:sumber