Как изменить макет на экране ошибок в Yii Framework? - PullRequest
0 голосов
/ 10 октября 2019

Как изменить layout на странице ошибки 404 в yii framework?

// web.php
'errorHandler' => [
    'errorAction' => 'site/error',
],

1 Ответ

2 голосов
/ 10 октября 2019

Чтобы изменить макет страницы ошибки, вы должны установить ее для действия по ошибке. В зависимости от конфигурации ваше действие по ошибке: error действие в SiteController.

Если вы используете действие по умолчанию, вы должны найти что-то подобное в вашем SiteController

public function actions()
{
    return [
        'error' => [
            'class' => 'yii\web\ErrorAction',
        ],
        // ...
    ];
}

Каквы можете видеть, что yii\web\ErrorAction ( см. документацию ) используется в качестве вашего site/error. Это действие имеет свойство layout, в котором указано, какой макет следует использовать. Вы можете изменить его, изменив предыдущий код так, чтобы он выглядел следующим образом

public function actions()
{
    return [
        'error' => [
            'class' => 'yii\web\ErrorAction',
            'layout' => 'error' //use error.php in views/layouts
        ],
        // ...
    ];
}

Если у вас есть собственная реализация действия по ошибке, вы можете просто установить свойство layout непосредственно из действия.

...