如何在Yii2中全局更改默认布局(=用于所有控制器和视图)?我想离开main.php布局,以防万一我想稍后使用它。如何更改Yii2中所有控制器的默认布局?
回答
在配置上,你可以写默认布局[[\yii\base\Application::$layout]]所有视图的根:
[
...
'layout' => 'main',
'components' => [
...
]
]
您可以通过以下方式进行操作。例如,一个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,
]);
}
在配置(配置/ main.php),可以覆盖所有的意见的默认布局
[
// ...
'components' => [
'view' => [
'layout' => 'main.php'
],
// ...
],
]
他说全球所有控制器的行动...而不是本地.. – scaisEdge
改变config/main.php是不正确的。查看正确语法的接受答案。 – TheStoryCoder
...但我想指定一个特定的布局,而不仅仅是他们所在的文件夹。 – TheStoryCoder
只需查看文档链接。使用'layoutPath',您可以为所有控制器和操作拥有自己的布局,并且您将保持默认布局不变。 (就像你在你的问题中所说的那样)。 – Clyff
如果情况并非如此,请重新编写您的问题,并更加清楚您想要完成的工作。 – Clyff
在配置更改/ web.php文件
和前组件阵列,鉴于/布局/ main_style创建
新样式的名称加入这一行。 php
'layout' => 'main_style'
使用此整个项目布局更改
答案与已接受的答案相比没有新增信息。 – TheStoryCoder
- 1. 更改默认控制器
- 2. 如何更改Android Studio默认布局
- 3. 如何更改默认布局目录?
- 4. 更改默认布局
- 5. 更改contact_us默认布局
- 6. 如何使用嵌套控制器的默认布局?
- 7. 更改Laravel的默认(根)控制器
- 8. 更改设计控制器的布局
- 9. 更改设计的默认布局
- 10. 如何更改Xcode中的默认加载视图控制器?
- 11. 如何在yii2中设置默认控制器
- 12. 更改默认控制器actionresult
- 13. Yii 2.0更改默认控制器
- 14. 如何从mvc 5中的控制器更改布局(主页)?
- 15. 如何更改索引控制器的默认动作zend
- 16. 如何将视图呈现给控制器的默认布局中的元素?
- 17. 如何在Android Studio中更改默认模板布局文件
- 18. 在Express/EJS中,如何更改默认布局?
- 19. 如何覆盖默认CSS上yii2在控制器
- 20. 如何从控制器访问变量布局/ main.php Yii2
- 21. 如何更改默认的mx:表单布局?
- 22. Rails使用控制器的默认布局
- 23. 更改默认布局后的批量发布更新
- 24. 如何更改默认视图控制器在Xcode
- 25. Magento托管 - 更改搜索布局/默认布局
- 26. 如何更改Yii2中的默认模板?
- 27. 如何更改Visual Studio中的默认控制值?
- 28. 设计控制器如何更改布局?
- 29. 如何更改布局视图控制器?
- 30. PHP - 锂框架如何更改/切换默认布局
如果我这样做,我得到以下错误:处理另一个错误时发生错误: yii \ base \ UnknownPropertyException:设置未知属性:yii \ web \ View ::布局在C:\ ... \ yii \ vendor \ yiisoft \ yii2 \ base \ Component.php:197 – TheStoryCoder
是的,我错了。我确定了我的答案。 –