0

すべてのコントローラーで実行されるフィルターがありますpreFilter

protected function preFilter($filterChain){
        Yii::app()->params->controller = Yii::app()->controller->id;
        Yii::app()->params->action = Yii::app()->controller->action->id;
        return true;
    }

postFilter私が持っている:

protected function postFilter($filterChain){
    $this->controllerName = Yii::app()->params->controller ;
    $this->actionName = Yii::app()->params->action;
    $this->CheckTrigger();
    return true;
}

関数CheckTrigger()Yii::app()->params->controllerおよびを参照しYii::app()->params->controllerます。

だからここに問題があります..私のアクションにリダイレクトがある場合、これはブレーキをかけます。リダイレクトをコメントアウトすると、再び機能し始めます。リダイレクトが呼び出されると、Pre および Post Filter アクションも呼び出されるようですが、リダイレクトが開始される前に Post フィルターが呼び出されることはありません。リダイレクトの前に Post フィルターが呼び出されるようにする方法はありますか? ここで何か不足していますか?

どうもありがとう..

4

1 に答える 1

1

コントローラアクションで次のリダイレクトコードを試してください。

$this->redirect('url here', false);
于 2012-11-09T16:21:18.967 に答える