0

いくつかの質問を書く前に、ここで説明されている方法でカスタム drupal ログインを作成しようとしたことを言う必要があります。 -7

したがって、これはhttp://example.org/userログイン ページをオーバーライドすることを意味します。私の場合、ヘッダーとフッターを非表示にできるため、これは機能しません (drupal ブロッ​​クを使用せずに別の方法で構築されているため)。

今、私は別の解決策に目を向けます。以下に示すように、カスタム コンテンツ タイプ「login」とカスタム テンプレート ファイルを作成します。

http://www.will.sx/login

カスタム フォームに統合するには、drupal のログイン機能が必要です。

HTMLコードは次のとおりです。

  <div id="form-wrapper">
    <form id="login">
        <h1>billing &amp; support</h1>
        <input type="email" id="email" name="email" placeholder="Type your email">
        <input type="password" id="password" name="password" placeholder="Type your password">
        <input type="submit" value="Login">
        <a href="#" class="reset-pass">Forgot password?</a>
    </form>
</div>   

このログイン フォームを有効にするには、PHP コードが必要です。あらゆる種類のヘルプを歓迎します。

4

2 に答える 2

-2

以下に示すように、カスタム コンテンツ タイプ「login」とカスタム テンプレート ファイルを作成します。

申し訳ありませんが、これは非常に悪いアプローチです。

ユーザーログインフォームを再定義できない理由がわかりませんが、カスタムコンテンツタイプを作成する代わりに、hook_menu() (または hook_menu_alter() で標準を再定義) を使用してカスタムページを作成できます。カスタム ページのコードでは、必要に応じてすべての Drupal 出力を再定義できることに注意してください (結果を出力するだけで、ページ コールバックから返さないでください)。フックの宣言と例については、api.drupal.org を参照してください。

次に、ページ コールバックのコードで、フォームを次のように印刷します。

print drupal_render(drupal_get_form('my_login_form'));

drupal のログイン ロジックは繰り返しが簡単ではないため、標準のログイン フォーム フォームを使用することをお勧めします (id は "user_login" で、上記のコードの 'my​​_logn_form' を 'user_login' に置き換えるだけです)。

カスタムページの作成について: https://api.drupal.org/api/drupal/modules%21system%21system.api.php/function/hook_menu/7

于 2013-11-03T06:11:42.510 に答える