CakePHPでプラグイン内で本体のログインフォームに飛ばしたい場合、
/(プラグイン名)/users/login
に飛んでしまう。
プラグイン内にログイン用のコントローラなどを持ってくる方法もできなくはないですが、何かしっくりきません。
/users/login に飛んでほしいですね。
どうしたらいいのでしょうか?
このように、リダイレクト先の設定に’plugin’=>falseを追加すればよいらしい。
public $components = array( 'Auth' => array( //ログインした後のリダイレクト先 'loginRedirect' => array('controller' => 'users', 'action' => 'mypage', 'plugin' => false), 'logoutRedirect' => array('controller' => 'users', 'action' => 'login', 'plugin' => false), 'loginAction' => array('controller' => 'users', 'action' => 'login' , 'plugin' => false), ) );
‘plugin’=>false はほかのURL指定のところでも共通らしく、例えば
echo $this->Html->link('link',array('plugin'=>false,'controller'=>'hoge','action'=>'fuga'));
という風にすると、本体のコントローラー・アクションに飛びます。
ほかには’admin’=>falseというのもあり、これは管理画面等でadminのプレフィクス付きのURLから抜けるときに使えます。