[CakePHP2.x]プラグインから本体にリダイレクトしたい場合

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から抜けるときに使えます。

タイトルとURLをコピーしました