登録フォームの変更


8

Drupal 7のデフォルトの新規ユーザー登録フォームを改訂したいと思います。「username」を要求するのではなく、「username is your full name」を通常使用するように、「username is your full name」というヘルパー指示とともに「full name」をリクエストしたい」

同様に、他にもいくつかのマイナーなフォーマット変更があるかもしれません。

この質問に関連するものにアクセスするための管理メニュー項目が見つかりません。また、新しいユーザー登録フォームのソースであることを示すテキストが含まれているファイルをディレクター内で見つけることはできません。

これは少し型破りなことですが、私たちのニーズには役立ちます。名/姓の入力を許可するモジュールを認識していますが、処理中に入力を最初のイニシャル/姓に変更します。つまり、Tom Thumb = "tthumb"のユーザー名です。モジュール「Realname Registration」は、ユーザー名を入力と同じように変換するだけの場合に私が探しているものです。

これで他の書式設定の編集が必ずしも解決されるわけではありませんが、ユーザー名フィールドの下の登録フォームのヘルプテキストを手動で編集して、新しいユーザーに実際の名前を使用して登録するように指示できれば非常にうれしいです。

あなたが提供できるあらゆる助けをありがとう。

JM

回答:


13

最も簡単な方法は、カスタムモジュールを作成して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
  }
}

必要に応じて、ifを実行する代わりに、hook_form_alterのバリエーションを使用して、具体的にフォームをターゲットにすることもできます。

function mymodule_form_user_register_form_alter(&$form, &$form_state, $form_id) {
  $form['account']['name']['#title'] = t('Full name');
  // perform other changes here
}

パスワードフィールドの値を設定するにはどうすればよいですか?構造が見つかりません
xstean

フォームは、管理者とゲストの登録で同じです。管理者の「ユーザーの作成」フォームか登録フォームかを検出するには、を使用できますuser_is_anonymous()
milkovsky
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.