2011-11-16 2 views
1

私はログインシステムを持つ1つのウェブサイトを持っています。しかし、ユーザーがログイン画面にアクセスするために使用したリンクによって、ログインビューが異なるようにしたいと思います。その後、Cakephp 1つのログイン機能/複数ログイン表示

function login ($from_page = null) { 

    if (isset($page)) $this->render('login_alternate_view'); 
    else $this->render('login'); //default login view 
} 

とログインビュー(login.ctp、login_alternate_view.ctp)のそれぞれが、それぞれに固有のログインフォームに加えて他のものを持っているでしょう:

ような何か。

これは何らかの形で可能ですか?私はすでに上記の例のようなものを試しましたが、うまくいきません。

+0

'isset($ page)'は '!empty($ from_page)'のようにするべきですか? –

+0

おそらく、私の主な問題は、(/ users/login/variableのような)ログイン関数にパラメータを渡すと、エラーが発生するということです。 – Albert

+0

どのようなエラーですか? –

答えて

0

「何か」についてのコメントではなく、コメントで実際に表示されているエラーメッセージを最初に表示します。

ログインしたときに現在のページのURLが必要なのでしょうか?どのようにモーダルを生成するのですか? ajaxを介してフォーム全体をリクエストするか、現在開いているページに埋め込まれていますか?それが埋め込まれている場合、私は現在のページのURLをユーザーがログインフォームの「隠しフィールド」から「オン」にしてチェックします。

+0

同じページから複数のログインオプションがあるため、現在のページを使用できませんので、彼が使用した正確なリンクを知る必要があります。私はこれを理解し、答えを投稿した – Albert

1

だから私はGET変数使用してそれを修正:

/users/login?some_var=some_value 

をそしてログイン機能で私がその変数の値をキャッチ:

$this->params['url']['some_var']; 

私は応じて自分のログイン機能を「カスタマイズ」することができますこの方法をユーザが使用するリンク上で