Wie ändern der Standard-Ansicht Weg in Yii2?
Ich versuche zu tun, multi-Thema im advanced-yii2.
Ich habe versucht, eine Menge Weg, aber es funktioniert nicht ich kann das nicht verstehen.
Erstens, ich habe dies zu "frontend/config/main.php";
'view' => [
'theme' => [
'pathMap' => [
'@app/views' => [
'@webroot/themes/demo/views',
]
],
],
],
und es funktioniert nicht, dann habe ich versucht, zu erstellen eine neue view-Klasse für frontend, zum Beispiel:
namespace frontend\components;
class NewsView extends \yii\web\View {
function init() {
\Yii::$app->view->viewPath = '@webroot/themes';
parent::init();
}
}
Hinzugefügt und in config.php
'view' => [
'class' => 'frontend\components\NewsView',
aber es funktioniert nicht zu.
Was soll ich tun?
- Ich löste, ich vergaß, das ist meine falsch, während SiteController ist die Arbeit zu leisten " - index.tpl"gibt es nicht" - index.tpl". 🙂
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie neu definieren getViewPath Methode an Ihre Basis-controller. Wie
In einer Steuerung können Sie die Ansicht ändern Weg auch in die init-Methode:
Oder verwenden Sie die bereits vorgeschlagener Weg.
Tipp für Idioten wie mich: nicht versuchen überschreiben der
$viewPath
Eigenschaft.Funktioniert es nicht. Eigentlich die privaten member
$_viewPath
muss festgelegt werden, in der Basis-controller! Es wird bewertet, das Rendern (wenn parameter$view
ist ein relativer Pfad).$this->viewPath = '...';
fordert eine setter-Funktion, die Sätze$_viewPath
. Wenn Sie überschreiben$viewPath
mitpublic $viewPath = '...';
Aufruf der magic Set-Funktion nicht mehr möglich ist, so$_viewPath
wird nicht geändert werden.