1.模板布局
【1】在配置文件中开启模板布局并设置布局文件名
-
//开启全局模板布局
-
'layout_on'=>true,
-
//全局模板文件名
-
'layout_name'=>'layout',
【2】创建头部和底部的公共模板文件,view/header.html ,view/footer.html
【view/header.html】
-
-
<html lang="en">
-
<head>
-
<meta charset="UTF-8">
-
<meta name="viewport" content="width=device-width, initial-scale=1.0">
-
<meta http-equiv="X-UA-Compatible" content="ie=edge">
-
<title>Document</title>
-
</head>
-
<body>
-
<h2 style="color:red">我是网站的头部</h2>
【view/footer.html】
-
<h2 style="color:green">我是网站的底部</h2>
-
</body>
-
</html>
【3】创建布局文件 view/layout.html
-
{//布局文件}
-
{include file='header' /}
-
{__CONTENT__}
-
{include file='footer' /}
【4】创建控制器要渲染的文件 view/demo9/test1.html
hello world
test1.html中内容最后会替换布局文件layout.html中{__CONTENT__}
2.模板继承
【1】关闭模板布局
'layout_on'=>false,
【2】创建2个被抽离的公共文件 view/public/header1.html,view/public/footer1.html
【view/public/header1.html】
-
-
<html lang="en">
-
<head>
-
<meta charset="UTF-8">
-
<meta name="viewport" content="width=device-width, initial-scale=1.0">
-
<meta http-equiv="X-UA-Compatible" content="ie=edge">
-
<title>Document</title>
-
</head>
-
<body>
-
<h2 style="color:blue">我是模板继成案例的头部</h2>
【view/public/footer1.html】
-
<h2 style="color:rgb(141, 13, 13)">我是继承案例底部</h2>
-
</body>
-
</html>
【3】创建基础模板(父模板),view/public/base.html
-
{//基础模板 当前页面公共部分全部抽象出来,而要变化的部分都定成区块block,不允许不出其他标签}
-
{include file='public/header1' /}
-
{block name="body"}
-
主体
-
{/block}
-
{block name="nav"}
-
导航
-
{/block}
-
{include file='public/footer1' /}
【4】创建子模板 index/view/demo9/test2.html
-
{//继承模板 不允许出现其他标签,所有内容必须写在block内}
-
{extend name='public/base' /}
-
{//实现父模板base中的定义区块body}
-
{block name="body"}
-
{//引用父模板中内容引入过来}
-
{__block__}
-
<h2 >我是模板继承案例主体</h2>
-
{/block}
-
{//实现父模板base中的定义区块nav}
-
{block name="nav"}
-
{/block}