kimono
@kimono
Web developer

Как отобразить страницу с ошибкой в контроллере YII2?

Как известно, по умолчанию ошибки обрабатываются в действии error контроллера site:
'components'          => [
            'errorHandler' => [
                'errorAction' => 'site/error',
            ],
...

А если мне, допустим, необходимо, чтобы в отдельном модуле news отображением ошибки занималось действие error в контроллере news - т.е. внутри news ошибку обрабатывает news/error, а остальные ошибки - site/error.
Как это сделать, и можно ли?
  • Вопрос задан
  • 344 просмотра
Решения вопроса 1
R0dger
@R0dger
Laravel/Yii/2 AngularJs PHP RESTful API
А что мешает вам в действие 'site/error' посмотреть какой контроллер и уже там вызвать ту или иную вьюшку или тот или иной алгоритм?
или вот так
class ApiController extends Controller {
    public function init() {        
        parent::init();
        Yii::app()->errorHandler->errorAction='api/error';
    }
    public function actionError(){
        echo json_encode(array(
            'Status'=>500,
            'Message'=>'Unknown error'
        ));
    }
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы