我是一个yii新手。我有一个页面叫main.php。我想其他一些页面使用main.php作为布局。我的项目视图在“site”文件夹中。我为这些视图创建了一个文件夹和一个单独的控制器。但是它不起作用。我添加了$this-〉layout = 'main'到我的项目中
ymdaylpp1#
将您的main.php或任何布局文件放在views/layouts文件夹中。在控制器中使用此选项:public $layout = '/main';或者在行动中:$this->layout = '/main';
main.php
views/layouts
public $layout = '/main';
$this->layout = '/main';
cbjzeqam2#
在你的Yii 2脚手架目录里应该有一个您的应用程序/视图/布局把布局文件main.php放到这个目录下(or编辑或替换现有的)在需要新布局的controllerAction中完成后,请分配布局
$this->layout = 'main';
。
class YourController extends Controller { .... public function actionYourAction() { ....... $this->layout = 'main'; return $this->render( .... ]); }
6gpjuf903#
要更改ALL控制器和操作,您必须在config/main.php文件中添加以下内容:
config/main.php
[ // ... 'layout' => 'main', 'components' => [ //... ] ]
更改一个控制器:
class SiteController extends Controller { public $layout='//layouts/main'; public function init() { // ... } //... }
只需一次操作即可完成更改:
public function actionIndex() { $this->layout = 'mian'; return $this->render('index', ['model' =>$model]); }
3条答案
按热度按时间ymdaylpp1#
将您的
main.php
或任何布局文件放在views/layouts
文件夹中。在控制器中使用此选项:
public $layout = '/main';
或者在行动中:
$this->layout = '/main';
cbjzeqam2#
在你的Yii 2脚手架目录里应该有一个
您的应用程序/视图/布局
把布局文件main.php放到这个目录下
(or编辑或替换现有的)
在需要新布局的controllerAction中完成后,请分配布局
。
6gpjuf903#
要更改ALL控制器和操作,您必须在
config/main.php
文件中添加以下内容:更改一个控制器:
只需一次操作即可完成更改: