function user_login_alter(&$form, &$form_state, $form_id) {
$form['#submit'][] = 'something something';
dpm($form); //didn't do anything?
var_dump($form); //printed something
}
dpm($form);
何も印刷されないのはなぜですか?それによって
var_dump
この場合はうまくいきました。
これは許可の問題です。
dpm()
その他のdevel
関数は、現在のユーザーに'access devel information'
が必要です。 実行する許可。ユーザーログインフォームビルダーをトリガーする必要があるため、デバッグしようとするたびにログアウトする可能性があります。
ただし、この場合、ユーザーロールは
'anonymous'
です。 そして、あなたは「アクセス開発情報」許可を持っていません(そして決してすべきではない)。drupal_get_form()
を使用してフォームを作成して返すだけです ログインしたままデバッグできるように、ページのコールバックから。