这种方式仅需在项目配置文件中添加相关的布局模板配置,就可以简单实现模板布局功能,比较适用于全站使用相同布局的情况,需要配置开启LAYOUT\_ON 参数(默认不开启),并且设置布局入口文件名
LAYOUT\_NAME(默认为layout)。
'LAYOUT\_ON'=>true, 'LAYOUT\_NAME'=>'layout',
'LAYOUT\_ON'=>true, 'LAYOUT\_NAME'=>'layout',
开启LAYOUT\_ON后,我们的模板渲染流程就有所变化,例如:
namespace Home\\Controller; use Think\\Controller;
Class UserController extends Controller{ Public function add() {
$this->display('add');
}
}
namespace Home\\Controller; use Think\\Controller;
Class UserController extends Controller{ Public function add() {
$this->display('add');
}
}
在不开启LAYOUT\_ON布局模板之前,会直接渲染 Application/Home/View/User/add.html 模板文件, 开启之后,首先会渲染 Application/Home/View/layout.html 模板,布局模板的写法和其他模板的写法类似,本身也可以支持所有的模板标签以及包含文件,区别在于有一个特定的输出替换变量
{ CONTENT } ,例如,下面是一个典型的layout.html模板的写法:
<include file="Public:header" />
{ CONTENT }
<include file="Public:footer" />
<include file="Public:header" />
{ CONTENT }
<include file="Public:footer" />
读取layout模板之后,会再解析件的{CONTENT} 特定字符串。
User/add.html
User/add.html
模板文件,并把解析后的内容替换到layout布局模板文
当然可以通过设置来改变这个特定的替换字符串,例如:
'TMPL\_LAYOUT\_ITEM' => '{ REPLACE }'
'TMPL\_LAYOUT\_ITEM' => '{ REPLACE }'
一个布局模板同时只能有一个特定替换字符串。
采用这种布局方式的情况下,一旦User/add.html 模板文件或者layout.html布局模板文件发生修改,都会导致模板重新编译。
如果需要指定其他位置的布局模板,可以使用:
'LAYOUT\_NAME'=>'Layout/layoutname',
'LAYOUT\_NAME'=>'Layout/layoutname',
就表示采用
Application/Home/View/Layout/layoutname.html
Application/Home/View/Layout/layoutname.html
如果某些页面不需要使用布局模板功能,可以在模板文件开头加上
作为布局模板。
字符串。
{ NOLAYOUT }
{ NOLAYOUT }
如果上面的User/add.html 模板文件里面包含有进行布局模板解析。
{ NOLAYOUT }
{ NOLAYOUT }
,则即使当前开启布局模板,也不会
- ThinkPHP模板
- 变量输出
- 系统变量
- 系统变量输出
- 常量输出
- 配置输出
- 语言变量
- 使用函数
- 默认值输出
- 使用运算符
- 标签库
- 导入标签库
- 内置标签
- 标签库预加载
- 模板继承
- 修改定界符
- 普通标签
- XML标签
- 三元运算符
- 包含文件
- 使用模版表达式
- 使用模版文件
- 传入参数
- 内置标签
- Volist标签
- Foreach标签
- For标签
- Switch标签
- 比较标签
- 范围判断标签
- IN和NOTIN
- BETWEEN 和 NOTBETWEEN
- RANGE
- IF标签
- Present标签
- Empty标签
- Defined标签
- Assign标签
- Define标签
- 标签嵌套
- import标签
- 使用PHP代码
- 使用php标签
- 使用原生php代码
- 原样输出
- 模板注释
- 单行注释
- 多行注释
- 模板布局
- 第一种方式:全局配置方式
- 第二种方式:模板标签方式
- 第三种方式:使用layout控制模板布局
- 模板替换
- 调用导航
- 调用栏目信息
- 根据栏目Id获取栏目信息
- 首页&封面调用信息列表
- 调用新闻列表
- 当前位置
- 当前位置
- 列表页分页
- 热门信息
- 获取热门信息
- 上一篇&下一篇
- YNCMS函数
- YNCMS插件开发
- 开始开发