Мне было интересно, могу ли я изменить папку просмотра по умолчанию для контроллера в Yii2?
Если мы сможем изменить макет, просто используя public $layout
, как мы можем это сделать с представлением?
Class HomeController extends \yii\web\Controller { public $layout = 'mylayout'; public $view = 'newview'; public function actionIndex() { return $this->render('index'); } }
Чтобы добиться того, что ваш контроллер должен реализовать ViewContextInterface .
use yii\base\ViewContextInterface; use yii\web\Controller; class HomeController extends Controller implements ViewContextInterface
Затем просто добавьте метод getViewPath (), который должен вернуть желаемый путь к каталогу:
public function getViewPath() { return Yii::getAlias('@frontend/views/newview'); }
Здесь вы можете использовать псевдонимы.
Также проверьте официальную документацию об организации просмотров.
Начиная с версии 2.0.7 вы можете просто написать в методе init () вашего контроллера: $this->viewPath = '@app/yourViewPath'