Yii2.0学习第22课:布局的使用

2025-10-23 20:53:35

1、访问登陆页面,页面使用的是$this->render,这时候系统默认使用的是@app/views/layouts/main.php文件,效果如下:

Yii2.0学习第22课:布局的使用

2、打开@app/controllers/Logincontroller.php,添加以下代码:

public $layout = 'hlong';

Yii2.0学习第22课:布局的使用

3、我们进入@app/views/layouts目录,创建hlong.php文件,并写入新的内容,然后重新访问登陆页面,效果如下:

<?= 'I am new header<br>' ?>

<?= $content ?>

<?= '<br>I am new footer' ?>

Yii2.0学习第22课:布局的使用

Yii2.0学习第22课:布局的使用

1、我们在前面尝试了“单控制器布局的修改”,从字面意思上理解应该只应用了当前控制器,我们验证一下,访问注册页面,查看效果:

Yii2.0学习第22课:布局的使用

2、进入@app/vendor/yiisoft/yii2/base/Application.php,搜索关键字“layout”并修改,重新访问注册页面,效果如下:

Yii2.0学习第22课:布局的使用

Yii2.0学习第22课:布局的使用

Yii2.0学习第22课:布局的使用

3、有朋友可能觉得修改vendor貌似不是一个很友好的方法,我们还可以在配置文件里面设置,在config/web.php中添加以下代码:

'layout' => 'hlong',

Yii2.0学习第22课:布局的使用

Yii2.0学习第22课:布局的使用

1、恢复我们之前的修改,并尝试访问我们在前期创建的一个模块默认首页,效果如下:

Yii2.0学习第22课:布局的使用

2、进入@app/modules/admin/Module.php,添加以下代码,

public $layout = 'admin_main';

Yii2.0学习第22课:布局的使用

Yii2.0学习第22课:布局的使用

3、创建@app/modules/admin/views/layouts/admin_main.php文件,加入测试代码并重新访问:

Yii2.0学习第22课:布局的使用

4、然后我们删除Admin模块下的网站布局,并尝试创建“全控制器布局(应用级别)”

Yii2.0学习第22课:布局的使用

Yii2.0学习第22课:布局的使用

Yii2.0学习第22课:布局的使用

Yii2.0学习第22课:布局的使用

1、布局分(控制器级别,模块级别,应用级别),当本级布局找不到的时候,系统会找上级布局,假如最终返回false,则说明不使用布局文件。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢