Как настроить функцию рендеринга в Yii2 framework

1

Я хочу изменить папку представлений yii2 на структуру ниже

 views
----default
    ----site
        ----index.php
        ----error.php
        ----login.php

В siteController я использую следующий код

public function actionIndex(){
    return $this->render('default/index');
}

и ошибка

The view file does not exist: D:\wamp\www\yii2\backend\views\site\default/index.php

пожалуйста, помогите мне

Теги:
yii2

1 ответ

1

С помощью вашего текущего кода контроллер сайта ищет файл вида в его папке /views/site, вам нужно получить правильный путь:

$this->render('../default/site/index');

Я предлагаю создать псевдоним для более гибкого, например @default_views в вашем основном локальном файле:

'aliases' => [
        '@default_views' => '../default/',

Итак, функция:

public function actionIndex(){
    return $this->render(Yii::getAlias('@default_views') . 'site/index');
}
  • 1
    @ Боно отредактировано для глубокого объяснения
  • 1
    Или просто $this->render('/default/site/index'); ... Или лучше: установите viewPath для контроллера.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню