abstract:首先先看一张网页在页面中无论我们怎么点击左边的菜单栏页面改变的只是红框中的内容这就是利用模版继承来实现的说道继承即必须有两个以上的模版用一个继承另外一个这里我们用三个网页来说明tp中我把模版的后缀改为了.php不过不影响,bootstrap.php模版用来加载bootstrap和jqueryhead.php模版用来加载头文件index.php是子模版用来继承head.php模版他们的目录结构是首先
首先先看一张网页在页面中无论我们怎么点击左边的菜单栏页面改变的只是红框中的内容这就是利用模版继承来实现的
说道继承即必须有两个以上的模版用一个继承另外一个
这里我们用三个网页来说明
tp中我把模版的后缀改为了.php不过不影响,
bootstrap.php模版用来加载bootstrap和jquery
head.php模版用来加载头文件
index.php是子模版用来继承head.php模版
他们的目录结构是
首先模版继承是可以加载外部文件的我们在head.php模版中使用
{block name="include"}{include file="Public:bootstrap" /}{/block}
就相当于包含了文件bootstrap.php文件
在index.php模版中我们使用
{extend name="public/head" /}就已经继承了模版head.php
此时我们打开index.php时结果和打开head时是相同的,如果我们要更改模版中的内容我们只要对相应的块进行重载就可以了就像这样
{block name="body"}
<a class="btn btn-danger" href="#" role="button">短信验证</a>
<a class="btn btn-info" href="#" role="button">按钮</a>
{/block}
打开index相当于打开
{block name="include"}{include file="public:bootstrap" /}{/block}
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>首页</title>
</head>
<body>
{block name="left"}{/block}
{block name="right"}{/block}
{block name="body"}
<a class="btn btn-danger" href="#" role="button">短信验证</a>
<a class="btn btn-info" href="#" role="button">按钮</a>
{/block}
</body>
</html>
在index中子模板中,可以对基础模板中的区块进行重载定义,如果没有重新定义的话,则表示沿用基础模板中的区块定义,如果定义了一个空的区块,则表示删除基础模板中的该区块内容。 上面的例子,我们就把body区块的内容更改了,其他的区块都进行了不变。
Correcting teacher:西门大官人Correction time:2019-03-03 10:53:35
Teacher's summary:理解和总结的很不错。其实所谓的继承,最后是在子页面中include了父页面而已