2017-06-12 40 views
1

对于某些控制器,我需要不同的ErrorActions。有没有办法在Yii2中的控制器中设置ErrorAction?Yii2:自定义错误动作

对于默认ErrorAction在配置

'components' => [ 
'errorHandler' => [ 
    'errorAction' => 'site/error' 
], 

回答

2

您可以在siteControlleractionError修改此规定的大多数控制器。 如果需要,您可以将此操作重定向到其他操作。

+0

为什么从一个动作重定向到另一个动作,如果您可以确定方法actions()中的错误, – Sersh

1

您必须修改控制器中的erroHandler组件。您可以在控制器的init函数中将其更改为以下代码。不要忘记在控制器中定义自定义错误操作。

class YourController extends Controller { 

    public function init() {   
     parent::init(); 
     Yii::app()->errorHandler->errorAction='route/error'; 
    } 

    public function actionError(){ 
     // error action code goes here 
    } 

}