thinkphp3.2.3 layout布局

本人小白一只,看了thinkphp3.2.3的开发文档,试了试其中的布局模版功能,特此记录,方便自己以后查看。
首先所谓的布局模版功能就是在控制器中调用


$this->display("layout_test/model");
//最后的后缀不要加html,否则会报错</span>


的时候会优先调用这个视图文件下的 layout.html文件


(这个名字是可以改的,只需要修改配置文件中的)
LAYOUT_NAME'           =>  'layout',
 // 当前布局名称 默认为layout</span>


而这个 layout.html就是模版布局文件,例如:


<!--可以在这里直接写html的内容,只不过是把下面的 {__CONTENT__} 换成了包含这个文件的html代码 -->
<title>这是thinkphp测试layout</title>


<!--这个可以使用 'TMPL_LAYOUT_ITEM'      =>  '{__REPLACE__}' 进行替换-->
{__CONTENT__}


<!--使用 include 的时候使用的地址是相对入口文件 index.php 的-->
<include file="Application/Home/View/layout_test/include_test.html" />


调用完这个布局文件后,才会去调用 model.html(我上面写的是调用model)


而开发文档中说有三种调用方式,我实现了其中两种
第一种,在该模块的配置文件下开启布局功能
'LAYOUT_ON'=>true,
'LAYOUT_NAME'=>'layout',


之后文件的执行顺序就是 布局模版文件:layout.html 之后再是 model.html,model.html文件就是一般的 html 文件,只不过替换了 layout.html文件中的 {_CONTENT_}
<!--model.html-->
<div>
    上面调用了layout的布局
</div>


第二种关闭上面的配置信息,直接在model.html中使用<layout name="layout" />标签的方法我失败了,不知道为什么
<!--model.html-->
<layout name="layout" />
<div>
    上面调用了layout的布局
</div>


第三种方法是在控制器中直接开启,同时也是要关闭配置文件信息的,直接在控制器中调用layout方法,传入布局模版文件,注意,不需要加 html 的后缀,否则会报错
layout('layout_test/layout');
$this->display('layout_test/model'); 
















你可能感兴趣的:(thinkphp)