Establecer el archivo de diseño para la acción de error dinámicamente
Sé que hay diferentes formas de elegir el archivo de diseño. Se puede hacer
en la configuraciónconYii::$app->layout = '...'
conController::$layout
Tengo algunos controladores que usan un archivo de diseño diferente como este:
class FirstController extends yii\web\Controller {
public $layout = 'firstLayout';
...
}
class SecondController extends yii\web\Controller {
public $layout = 'secondLayout';
...
}
Ahora tengo el manejo de errores predeterminado en Yii2. Entonces está la configuración que establece'errorHandler'
a'site/error'
(que es un controlador de errores global). Y está el SiteController con
class SiteController extends yii\web\Controller {
public function actions() {
return [
'error' => [
'class' => 'yii\web\ErrorAction',
],
];
}
...
}
Mi problema es que el controlador de errores usa el archivo de diseño de SiteController de forma predeterminada. Pero debería ser el del controlador que realmente se llamó. ¿Cómo podría lograr esto?dinamicamente?