Gdy administrator utworzy nowe konto (admin / people / create), zostanie poproszony o podanie hasła do konta. Mój klient chce, aby podczas tworzenia konta w zapleczu administrator nie musiał wprowadzać hasła, ale użytkownik otrzymuje wiadomość z jednorazowym łączem do logowania, a następnie może ustawić hasło po zalogowaniu przy użyciu tego. Jaki jest najlepszy sposób na osiągnięcie czegoś takiego?
Myślałem o zmianie formularza, aby ustawić #default_value
pola hasła na losowe hasło, a następnie ustawić '#access' => FALSE
, ale nie jestem pewien, czy to najlepszy sposób, aby to zrobić.
hook_init()
dodrupal_add_css()
każdego ładowania strony… jest to także powielanie rdzeniuser_password()
. Nie przechodzi testu zapachu.user_password(mt_rand(10, 50))
formularza lub czegoś podobnego po przesłaniu formularza.Jeśli nie masz ochoty instalować modułu „Generuj hasło” i nie przeszkadza ci używanie haków, oto alternatywa:
Możesz uczynić go bardziej wyrafinowanym według własnego gustu. W obecnej formie zawsze ukrywa pole hasła i podaje wartość - administrator będzie musiał edytować nowe konto, aby ustawić określoną wartość. Poza tym domyślnie „powiadomienie” jest wyłączone, podczas gdy możesz preferować włączenie.
Zaktualizowano zgodnie z odpowiedzią @joe_flash (ale w nieco bardziej zwartej formie): pole hasła zostanie rozszerzone do dwóch podpól („pass1” i „pass2”) podczas przetwarzania elementu.
źródło
Odpowiedź AdamS jest już prawie na miejscu. Ponieważ pole hasła zostanie rozszerzone na dwa podpola („pass1” i „pass2”) podczas przetwarzania elementu (
form_process_password_confirm()
), potrzebujesz czegoś takiego:źródło