web-dev-qa-db-ja.com

新しいパスワードフォームIDをリクエストする

新しいパスワードのリクエストフォームIDを知りたい。 (www.example.com/user/password)。
登録フォームが「user_register_form」であることがわかり、パスワード(user_password_form/user_pass_form/user_pass_reset)に対して同じことを試みましたが、何も機能しませんでした。

あなたが私を助けることができることを願っています!どうもありがとう!

編集:アカウントフォームIDを一気に教えてくれれば、答えは単純に素晴らしいでしょう。

4
Leandros

この場合、print_rの方が優れていることに注意してください。彼が望むフォームを表示するには、ログアウトする必要があります。そうしないと、アクティブユーザーのパスワードがリセットされます。これは異なります。

Leandros、これをテーマのtemplate.phpに入れて、ユーザー/パスワード(ログインしていない)にアクセスしてみてください

function YOURTHEMENAME_form_alter(&$form, &$form_state, $form_id) {
  switch ($form_id) {
    case 'user_pass':
        print '<pre>';print_r($form); print '</pre>';
      break; 
  }
}

そこにあるすべてのものの配列を提供します。次に、「ユーザー名または電子メールアドレス」というテキストと、送信ボタンのテキストを変更したいとします。

function YOURTHEMENAME_form_alter(&$form, &$form_state, $form_id) {
  switch ($form_id) {
    case 'user_pass':
        //print '<pre>';print_r($form); print '</pre>';
        $form['name']['#title'] = 'Please type your username/email quickly.';
        $form['actions']['submit']['#value'] = 'Email it to me!';
      break; 
  }
}
3
nedwardss

Devel モジュールをインストールします。次に hook_form_alter() を実装し、dpm()を使用します。

次に、フォームの詳細を表示する任意のページに移動すると、システムメッセージブロックに表示されます。

function MYMODULE_form_alter(&$form, &$form_state, $form_id) {
  dpm($form, '$form info for $form_id '.$form_id);  
}
1
tenken

これらのIDは次のとおりです。

  • ユーザー登録:user_register_form
  • ユーザーログイン:form_user_login
  • ユーザーパス:user_pass

hook_form_FORM_ID_alter を使用することをお勧めします。

例えばユーザーパスフォームの変更:

/**
 * Implements hook_form_user_pass_alter().
 */
function my_module_form_user_pass_alter($form, &$form_state) {
  // Change text button.
  $form['actions']['submit']['#value'] = t('Send password');
}
0
heilop