Anmeldeformular ändern

8

Ich möchte das Standard-Registrierungsformular für neue Benutzer in Drupal 7 überarbeiten. Anstatt "Benutzername" zu fordern, möchte ich "vollständiger Name" mit Hilfsanweisungen anfordern, um den Text "Benutzername ist Ihr vollständiger Name, wie Sie ihn normalerweise verwenden würden" einzugeben . "

Möglicherweise möchte ich noch einige kleinere Formatierungsänderungen vornehmen.

Ich kann keinen Admin-Menüpunkt finden, um auf etwas zuzugreifen, das sich auf diese Frage bezieht. Und ich kann keine Datei in einem Director finden, deren Text darauf hinweist, dass es sich um die Quelle für das neue Benutzerregistrierungsformular handelt.

Mir ist klar, dass dies etwas unkonventionell ist, aber es ist nützlich für unsere Bedürfnisse. Mir ist ein Modul bekannt, das die Eingabe von Vorname / Nachname ermöglicht, aber bei der Verarbeitung wird die Eingabe in Vor- / Nachname geändert, dh Tom Thumb = Benutzername von "tthumb". Das Modul "Realname Registration" wäre genau das, wonach ich suche, wenn es nur den Benutzernamen genauso übersetzen würde wie die Eingabe.

Das würde die anderen Formatierungsänderungen nicht unbedingt lösen, aber ich würde mich sehr freuen, wenn ich den Hilfetext des Registrierungsformulars unter dem Feld Benutzername manuell bearbeiten und den neuen Benutzer anweisen könnte, sich mit seinem richtigen Namen zu registrieren.

Vielen Dank für jede Hilfe, die Sie leisten können.

JM

JM Foster
quelle

Antworten:

13

Am einfachsten ist es, ein benutzerdefiniertes Modul zu erstellen und hook_form_alter () zu verwenden :

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
  }
}

Wenn Sie es vorziehen, können Sie auch eine Variation von hook_form_alter verwenden, um das Formular gezielt anzusprechen, anstatt ein if ausführen zu müssen

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
quelle
Wie kann ich den Feldwert Passwort festlegen? Ich kann die Struktur nicht finden
Xstean
Das Formular ist für die Registrierung von Administratoren und Gästen identisch. Um festzustellen, ob es sich um ein Administratorformular "Benutzer erstellen" oder ein Registrierungsformular handelt, können Sie es verwenden user_is_anonymous().
Milkovsky