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?

Respuestas a la pregunta(2)

Su respuesta a la pregunta