私は非常にシンプルなテンプレートのページを持っています:
<!DOCTYPE html>
<html>
<head><title>TEST REGISTRATION PAGE</title></head>
<body>
<?php
print drupal_get_form('user_register');
print $messages;
print $closure;
print $main_content;
?>
</body></html>
基本的には、登録フォームのみを表示します。
- フォームにいくつかの不正なデータを入力しました—既に使用されているユーザー名(admin)で、電子メールアドレスはありません。
- 「新規アカウント作成」をクリックします。
- ページが送信されて再読み込みされたようですが、何も起こりません。エラーメッセージは表示されていません。
- ページを更新します(F5)。
- Firefoxは「このページを表示するには、Firefoxは以前に実行されたアクションを繰り返す情報を送信する必要があります」と表示するため、POSTが以前に実行されたことがわかります。
- そのダイアログウィンドウで[再送信]をクリックします。
- エラーメッセージが表示されます—「電子メールアドレスフィールドは必須です」、「名前adminは既に使用されています」。
これは、登録フォームだけでなく、これまでにテストしたすべてのフォームで発生します。
なぜこうなった?エラーメッセージが初めて表示されるように修正するにはどうすればよいですか?
これをデバッグするために必要なことは何でもできて嬉しいですが、調べ始めるにはいくつかの指示が必要です。:)
drupal_get_form('user_register')
中に$block['content']
。コンテキストを介してそのモジュールを含めると、送信後に登録エラーメッセージが正しく表示されます。非常に複雑に見えますが、機能し、ログイン/登録フォームを希望どおりに含めることができます。ご協力ありがとうございます。