老莫的笔记本  
  
查看: 1250|回复: 1

TP5 模板继承

[复制链接]

662

主题

878

帖子

5143

积分

超级版主

Rank: 8Rank: 8

积分
5143
发表于 2018-8-19 16:39:21 | 显示全部楼层 |阅读模式
来先过个概念
啥是模板继承?  答:父模板 的模模块 被子模板继承  就是模板继承;
啥事模板布局?  答: 模板布局是模板继承的一个特例, 子模板可以继承很多个父模板的模块,如果只继承一个模块 那就使用模板继承 ;

好了 分清之后 来看看 模板继承的 语法
1.在父模板中,使用 {block} 内容 {/block} 给子模板内容预留位置;
2.子模板中必须将父模板中预留的位置(也叫区块)全部用代码实现;
3.子模块中{block} {/block} 之间的内容留空的话,将会删除对应区块 ;
4.区块中可以使用模板变量,也可以导入外部文件;
5.子模块可以使用"__BLOCK__" 来引用父模板中原区块的内容 ;


好了开始贴代码,先贴个  view/fath.html 的内容【父模板】
  1. {include file='base/header' /}
  2.     {block name="nav"} 导航 {/block}
  3.     {block name="info"} 信息列表 {/block}
  4.     {block name="link"} 友情链接 {/block}
  5. {include file='base/footer' /}
复制代码

再贴一个 view/laom/mk.html  的内容  【子模板】
  1. {extend name='fath'/}
  2. {block name="nav"}
  3.     <ul>
  4.         <li>
  5.             <a href="">主页</a>
  6.         </li>
  7.         <li>
  8.             <a href="">新闻</a>
  9.         </li>
  10.         <li>
  11.             <a href="">关于我们</a>
  12.         </li>
  13.     </ul>
  14. {/block}
  15. <br />
  16. {block name="info"}
  17. <ul>
  18.     <li><a href="">这是一条新闻列表</a></li>
  19.     <li><a href="">这是一条新闻列表</a></li>
  20.     <li><a href="">这是一条新闻列表</a></li>
  21. </ul>
  22. {/block}
  23. <br />
  24. {block name='link'}
  25.     <a href="www.damichong.top">连接到老莫的网站</a>
  26. {/block}
复制代码


1.父模板那两个引入 只是为了让父模板纯粹点看起来更模板一点 没啥重要的知识点
2. 为了加深理解 我贴一个 c/Laom.php 的内容  【就是触发的渲染】
  1. <?php
  2. namespace app\laom\controller;
  3. use think\Controller;
  4. class Laom extends Controller
  5. {
  6.     public function mk()
  7.     {
  8.         return $this->fetch();
  9.     }
  10.     public function mk2()
  11.     {
  12.         return '进来了    }
  13. }
复制代码




回复

使用道具 举报

662

主题

878

帖子

5143

积分

超级版主

Rank: 8Rank: 8

积分
5143
 楼主| 发表于 2018-8-19 16:41:31 | 显示全部楼层
{block name="info"}
{__BLOCK__}  这样可以应用父模板中原区块的内容      显示出信息列表四个字
{/block}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表