数字化技能提升教程,数字化时代生存宝典

数字化百科 / 词条 / ThinkPHP开发指南-视图-布局模板

ThinkPHP开发指南-视图-布局模板

查看全部词条命名空间:Main

导航:返回上一页

新版的ThinkPHP可以自动识别模板文件中的布局模板,不再需要专门使用layout方法进行布局模板的输出了。布局模板本身的用法和普通的模板一样,只是增加了一个布局标签的用法,并且布局模板可以用于任何模板引擎,都可以很好的支持。

我们可以在布局模板里面使用下面的格式定义布局:这里的模板文件规则和display的参数用法是一致的,详细的可以参考模板输出部分的内容。

例如

如果使用的是内置的模板引擎的话,还可以使用下面的布局标签来定义,效果一致:

PHP代码




三个布局定义(标签)分别导入了三个模板文件,由于Include标签导入的外部文件无法检测模板更新,而布局模板恰好可以很好的解决这个问题。假设上面的布局模板文件名称为default.html 位于Index目录下面,那么我们就可以在Action里面调用输出:

PHP代码


$this->display('Index:default');

通常来说,我们可以不用重复定义很多的布局模板,使用动态布局模板来简化布局模板的定义。例如,我们把上面的布局模板修改为:


或者采用内置模板引擎的layout标签定义:

PHP代码



这样所有的模板都会调用Public/header.html头部和Public/footer.html尾部,而中间的内容是通过变量动态控制输出调用的模板。

PHP代码


$this->assign('content', 'User:list');

$this->display('Index:default');


布局模板只是为了方便视图的定义,布局模板本身并不调用模板对应的操作方法,也就是说布局模板中的变量赋值仍然需要在控制器中进行。

category:ThinkPHP