我有一个在我的所有控制器上运行的过滤器..
在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
。
所以这就是问题..如果我在行动中有重定向,那就刹车了。如果我注释掉我的重定向,它会再次开始工作。似乎在调用重定向时,也会调用前置和后置过滤器操作,但在重定向启动之前永远不会调用过滤器。有没有办法确保在重定向之前调用后置过滤器?我在这里错过了什么吗?
非常感谢..答案 0 :(得分:1)
在控制器操作中尝试此重定向代码:
$this->redirect('url here', false);