如何在Yii2中全局更改默认布局(=对于所有控制器和视图)?我想保留main.php布局,以防我以后想要使用它。
答案 0 :(得分:11)
在配置的根目录中,您可以为所有视图编写默认布局[[\yii\base\Application::$layout]]:
[
...
'layout' => 'main',
'components' => [
...
]
]
答案 1 :(得分:1)
您可以通过以下方式进行操作。例如,可以像这样创建defaultLayout.php布局:
<?php $this->beginContent('@app/views/layouts/main.php'); ?>
<div class="container">
<div class="row">
<div class="col-lg-4">Left Side Bar</div>
<div id="content" class="col-lg-4">
<?php echo $content; ?>
</div><!-- content -->
<div class="col-lg-4">Right Side Bar</div>
</div>
</div>
<?php $this->endContent(); ?>
在相对行动中
public function actionIndex()
{
$this->layout = 'defaultLayout';
return $this->render('index', [
'model' =>$model,
]);
}
在配置(config / main.php)中,您可以覆盖所有视图的默认布局
[
// ...
'components' => [
'view' => [
'layout' => 'main.php'
],
// ...
],
]
答案 2 :(得分:1)
配置layout&amp; Yii2配置中的layoutPath:
$config = [
...
'layoutPath' => '@app/views/layouts2',
'layout' => 'main2.php',
];
以上示例将默认视图app/views/layouts/main.php
更改为app/views/layouts2/main2.php
。
答案 3 :(得分:0)
示例:
$config = [
...
'layoutPath' => '@app/views/layouts-2'
];
答案 4 :(得分:-1)
更改config / web.php文件
并在组件数组
之前添加此行在view / layout / main_style.php
中创建的新样式名称'layout' => 'main_style'
使用此整个项目布局已更改