Yii2 Modul-Fehler-Seite wird nicht angezeigt, es zeigt aber, leere Seite bei Fehler 404
Ich habe versucht, schreiben mein eigenes actionError
im Modul DefaultController
das nur, um render-Fehler-Seite(HTML, nur zum testen) und es zeigt nur die leere Seite, statt zu zeigen, die Fehler-Seite.
Bin ich den richtigen Weg unten? Es zeigt auch eine leere Seite nur aus, wenn ich versuche, Zugriff auf nicht vorhanden Seite innerhalb der Modul-Pfad.
In meinem Modul-Klasse, die ich so konfiguriert haben, dass die errorHandler
Komponenten innerhalb init()
- Funktion, wie unten:
public function init()
{
parent::init();
//initialize the module with the configuration loaded from config.php
\Yii::configure($this, require(__DIR__ . '/config.php'));
\Yii::$app->setComponents([
'errorHandler' => [
'class' => 'yii\web\ErrorHandler',
'errorAction' => 'studconsult/default/error',
] //set error action route - this to be error action in DefaultController
]);
}
In meinem DefaultController
Klasse, ich habe folgenden codes:
public function actions()
{
return [
'error' => [
'class' => 'yii\web\ErrorAction',
],
];
}
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sollten Sie verwenden Sie einfach diese :
Vorherige Antwort ist nicht so schön, da wird es einen reset der Komponente.
Scheint es, dass setComponents ersetzt nur die Komponenten, die vorhanden sind. Ich denke, in Ihrem app-config gibt es keine solche Komponente. Der einfachste Weg, den ich gefunden habe, ist erstellen Sie es, und registrieren Sie es!