web-dev-qa-db-ja.com

パネルでログインページを上書きする

パネルを使用してログインページを上書きしたい。 Panels Everywhere を使用してそれを行う方法を示すチュートリアルを見つけましたが、これはページ全体を上書きします(site_template)。ページのコンテンツを上書きしたいだけです。

これは可能ですか?

6
cybercampbell

ページマネージャの既存のページモジュール で既存のパスを上書きできます。

ログインページでは使用していませんが、他のケースではうまく機能します。これを使用して、既存のページのパスをオーバーライドし、そのパスの元のコンテンツをカスタム追加と一緒にパネルペインとして追加できます。

10

問題全体を読みたくない人のために https://www.drupal.org/node/807754

次のモジュールを使用することをお勧めします: User Pages

User Pages モジュールを使用すると、次のユーザー関連ページを管理できます。

  • ユーザー
  • ユーザー/ログイン
  • ユーザー/登録
  • ユーザーパスワード

デフォルトでは、これらのユーザーページは Chaos Tool Suite では使用できません。インストールすると、Page Managerでページが自動的に利用可能になり、 Panels で管理できます。

2
kaleemclarkson

あなたが望むことをするのは不可能ではありませんが、それは近いです。コーディング方法の詳細については触れませんが、何を行う必要があるかを説明します。

主な問題は、パネルが既存のパスを上書きできないことです。

1つの解決策は、user/loginhook_menu_alterパスの設定を解除してから、そのパスのパネルページを作成することです。ステップ2では、コンテンツペインとしてログインフォームを作成します。これが機能する場合、それは最も単純なソリューションですが、これは最も壊れやすいソリューションでもあります。

もう1つの解決策は、hook_menu_alterを使用してコールバックを変更し、パネルAPIでパネルページをレンダリングすることです。これはかなりトリッキーなので詳細には触れませんが、この例は Commerce Panels Integration サンドボックスモジュールで確認できます。これは、より複雑な場合にのみ、コマースチェックアウトの進行状況に対して行われます。このソリューションでは、コンテンツペインとしてユーザーログインフォームを作成する必要もあります。

私はコマースパネル統合のコンセプトを使用してみましたが、AJAXのものを実行するときにいくつかのバグがあることがわかりました。したがって、これらのソリューションはどれも理想的ではないかもしれません。作成しているパネルページ。

2
googletorp