TP5模板布局+模板继承

1.模板布局

【1】在配置文件中开启模板布局并设置布局文件名

  1. //开启全局模板布局
  2. 'layout_on'=>true,
  3. //全局模板文件名
  4. 'layout_name'=>'layout',

【2】创建头部和底部的公共模板文件,view/header.html ,view/footer.html

【view/header.html】

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  7. <title>Document</title>
  8. </head>
  9. <body>
  10. <h2 style="color:red">我是网站的头部</h2>

【view/footer.html】

  1. <h2 style="color:green">我是网站的底部</h2>
  2. </body>
  3. </html>

【3】创建布局文件 view/layout.html

  1. {//布局文件}
  2. {include file='header' /}
  3. {__CONTENT__}
  4. {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】

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  7. <title>Document</title>
  8. </head>
  9. <body>
  10. <h2 style="color:blue">我是模板继成案例的头部</h2>

【view/public/footer1.html】

  1. <h2 style="color:rgb(141, 13, 13)">我是继承案例底部</h2>
  2. </body>
  3. </html>

【3】创建基础模板(父模板),view/public/base.html

  1. {//基础模板 当前页面公共部分全部抽象出来,而要变化的部分都定成区块block,不允许不出其他标签}
  2.  {include file='public/header1' /}
  3. {block name="body"}
  4. 主体
  5. {/block}
  6.  {block name="nav"}
  7. 导航
  8. {/block}
  9. {include file='public/footer1' /}

【4】创建子模板 index/view/demo9/test2.html

  1. {//继承模板 不允许出现其他标签,所有内容必须写在block内}
  2. {extend name='public/base' /}
  3.  {//实现父模板base中的定义区块body}
  4. {block name="body"}
  5.  {//引用父模板中内容引入过来}
  6. {__block__}
  7. <h2 >我是模板继承案例主体</h2>
  8. {/block}
  9.  {//实现父模板base中的定义区块nav}
  10. {block name="nav"}
  11.  {/block}
原文地址:https://www.cnblogs.com/Y15965521559/p/13745315.html