カスタムのログインおよび登録ページを作成したい。両方のフォームを、別々のノードではなく、テンプレートのコンテンツ領域のトップページに重ねて表示します。また、フォームの検証のために既存のコードを再利用したいと思います。
私は周りを見回して、これを達成するためのさまざまな方法を見つけたので、これを行うための最良の方法は何ですか?。カスタムブロック、モジュール、またはテンプレート内...
コンテンツまたは特定の例へのリンクをいただければ幸いです。
drupal_get_form('user_login');
そして
drupal_get_form('user_register_form');
フォームを返却し、処理する必要があるすべてのフォームを処理します。その関数から返されたものをすべて出力するだけで機能します。
注:Drupal versionを指定しなかった場合、7を使用すると、drupal_get_form()は配列を返すので、印刷可能な文字列を取得するためにまずdrupal_render()を通過させる必要があります。
以下は、ユーザーのログイン、パスワードのリセット、およびユーザーの登録に使用されるtplファイルの名前の提案です。
page-user-login.tpl.php page-user-password.tpl.php page-user-register.tpl.php
上記では、drupal_get_form( 'user_login')、drupal_get_form( 'user_pass')、drupal_get_form( 'user_register')を使用してフォームを表示できます。