bugfix> php > 投稿
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 この場合はうまくいきました。

回答 1 件
  • これは許可の問題です。 dpm()  その他の devel  関数は、現在のユーザーに 'access devel information' が必要です。  実行する許可。

    ユーザーログインフォームビルダーをトリガーする必要があるため、デバッグしようとするたびにログアウトする可能性があります。

    ただし、この場合、ユーザーロールは 'anonymous' です。  そして、あなたは「アクセス開発情報」許可を持っていません(そして決してすべきではない)。

    drupal_get_form() を使用してフォームを作成して返すだけです  ログインしたままデバッグできるように、ページのコールバックから。

あなたの答え