模板继承语法
控制器
在view文件夹下创建父模板layoutextend.html
{include file="base/header" /}
{block name="nav"}导航{/block}
{block name="info"}信息列表{/block}
{block name="link"}友情链接{/block}
{include file="base/footer" /}
在view文件夹下创建base文件夹,下面创建header.html和footer.html,作为公共部分。
header.html中:
<!DOCTYPE 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>
footer.html中:
</body>
</html>
在控制器对应的index.html模板中:
{extend name="layoutextend"}
{block name="nav"}
<ul>
<li>
<a href="">首页</a>
<a href="">关于我们</a>
<a href="">公司新闻</a>
<a href="">联系我们</a>
</li>
</ul>
{/block}
{block name="info"}
<ul>
<li>欢迎来到PHP中文网学习ThinkPHP5开发技术~~</li>
<li>欢迎来到PHP中文网学习ThinkPHP5开发技术~~</li>
<li>欢迎来到PHP中文网学习ThinkPHP5开发技术~~</li>
<li>欢迎来到PHP中文网学习ThinkPHP5开发技术~~</li>
<li>欢迎来到PHP中文网学习ThinkPHP5开发技术~~</li>
</ul>
{/block}
{block name="link"}
<a href="http://php.net">PHP官网</a>
<a href="http://thinkphp.cn">ThinkPHP官网</a>
<a href="http://bilibili.com">哔哩哔哩官网</a>
{/block}
总结:模板布局只是模板继承的一个特例,当父模板中只有一个需要实现的区块时,推荐使用模板布局,否则就用模板继承。具体还要看项目需求,有时用公共模板,可能比使用模板继承更方便~~
网友评论