请选择 进入手机版 | 继续访问电脑版

Yii2|Yii爱好者中文社区门户

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
热搜: yii 控制器 数组
查看: 4268|回复: 2

Yii2视频教程十三、深入理解View——布局篇(Layout )

[复制链接]

175

主题

861

帖子

4万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
45484
发表于 2015-2-21 23:19:32 | 显示全部楼层 |阅读模式
布局变量哪里有
  • Controller里面定义了布局变量($layout)
  • Module里面定义了布局变量($layout)
    其中的web\application里面定义了$layout='main',所以在没有设置layout的时候 会使用默认的main.php布局文件


layout变量值
$this->layout=false;// null or '@app/views/layouts/main.php' or '/main' or 'main'
  • false,不使用布局文件
  • null,使用Module中定义的布局文件
  • 字符串,指定布局文件
            a、别名开头,指定布局文件路径
            b、/开头,指定app下面的布局文件
                    $this->layout='/main' //'/test-main'
            c、使用当前Module里面的布局文件


layout查找规则
  • 先查看当前Controller里面有没有定义布局变量
  • 如果为Null,查找所在Module里面定义的布局变量(包括父级Module)
  • 如果为false,则不使用布局文件
  • 如果为字符串,则直接使用


布局的嵌套
在布局文件里面使用beginContent
  1. //指定view 文件(别名或者路径)
  2. <?php $this->beginContent('@app/views/layouts/main.php'); ?>
  3. <?php echo $content;?>
  4. <?php $this->endContent(); ?>
复制代码


布局高级使用
让布局文件支持多个变量
https://github.com/yiifans/luluc ... ts/InhritLayout.php


链接: http://pan.baidu.com/s/1eQAeoqY 密码: w72b

回复

使用道具 举报

0

主题

2

帖子

16

积分

新手上路

Rank: 1

积分
16
发表于 2015-12-9 14:06:46 | 显示全部楼层
非常好,我初学,看到这些就仿佛看到了食粮
回复 支持 反对

使用道具 举报

175

主题

861

帖子

4万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
45484
 楼主| 发表于 2015-12-9 15:20:59 | 显示全部楼层
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|Yii2|Yii爱好者中文社区门户  

GMT+8, 2017-3-28 04:17 , Processed in 0.290270 second(s), 30 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表