Mengubah formulir pendaftaran

8

Saya ingin merevisi formulir pendaftaran pengguna baru default di Drupal 7. Daripada meminta kembali "nama pengguna", saya ingin meminta "nama lengkap" dengan instruksi pembantu untuk memasukkan teks "nama pengguna adalah nama lengkap Anda seperti biasanya Anda menggunakannya . "

Mungkin ada beberapa perubahan format kecil lainnya yang ingin saya buat juga.

Saya tidak dapat menemukan item menu admin untuk mengakses apa pun yang berkaitan dengan pertanyaan ini. Dan saya tidak dapat menemukan file di dalam direktur mana pun yang memiliki teks apa pun yang akan menunjukkan bahwa itu adalah sumber untuk formulir pendaftaran pengguna baru.

Saya menyadari ini agak tidak konvensional, tetapi ini berguna untuk kebutuhan kita. Saya mengetahui sebuah modul yang memungkinkan input Nama Depan / Nama Belakang, tetapi dalam memprosesnya mengubah input menjadi inisial / nama belakang pertama, yaitu Tom Thumb = nama pengguna "tthumb". Modul "Pendaftaran Nama Asli" akan menjadi apa yang saya cari jika hanya akan menerjemahkan nama pengguna sama dengan input.

Itu tidak akan serta merta menyelesaikan suntingan pemformatan lainnya, tapi saya akan sangat senang hanya dapat mengedit teks bantuan formulir pendaftaran secara manual di bawah bidang nama pengguna, menginstruksikan pengguna baru untuk mendaftar menggunakan nama asli mereka.

Terima kasih atas bantuan yang dapat Anda berikan.

JM

JM Foster
sumber

Jawaban:

13

Cara termudah adalah membuat modul khusus dan menggunakan hook_form_alter () :

function mymodule_form_alter(&$form, &$form_state, $form_id) {
  if ($form_id === 'user_register_form') {
    $form['account']['name']['#title'] = t('Full name');
    // perform other changes here
    // var_dump() or krumo() the contents of $form to see what you can change
  }
}

Jika Anda mau, Anda juga bisa membuat variasi hook_form_alter untuk menargetkan formulir secara khusus alih-alih harus melakukan if

function mymodule_form_user_register_form_alter(&$form, &$form_state, $form_id) {
  $form['account']['name']['#title'] = t('Full name');
  // perform other changes here
}
Alex Weber
sumber
Bagaimana cara menetapkan nilai bidang Kata Sandi? saya tidak dapat menemukan strukturnya
xstean
Formulirnya sama untuk pendaftaran admin dan tamu. Untuk mendeteksi apakah itu formulir "Buat pengguna" admin atau formulir pendaftaran yang dapat Anda gunakan user_is_anonymous().
milkovsky