〝 古人学问遗无力,少壮功夫老始成 〞
在使用php框架开发时,我们经常遇到页面的头部和尾部等很多部分是公共的,我们其实可以将其进行分离出来,就不需要每个公共的部分都要渲染一次了。如果这篇文章能给你带来一点帮助,希望给飞兔小哥哥一键三连,表示支持,谢谢各位小伙伴们。
目录
一、模版分离
- 在视图(view)目录下创建layout公共文件夹
- 然后创建头部文件header.html或尾部footer.html等像这样的静态模板文件
- 然后将主页面的头部代码和尾部代码分别分离到相应的文件里
// layout/header.html 文件
<head>
<meta charset="utf-8" />
<title>automovie</title>
<meta name="referrer" content="no-referrer" />
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />
<link rel="stylesheet" href="{__INDEX_STATIC__}/css/bootstrap.css" type="text/css" />
</head>
- 引用方式如下
{include file="layout/header" /}
<!-- 跨模块引用模板的话 -->
{include file="模块名@模板路径" /}
{include file="home@layout/header" /}
二、模版继承
- ThinkPHP6 模板继承是一项更加灵活的模板布局方式,模板继承不同于模板布局,甚至来说,应该在模板布局的上层
- 定义一个基础模板(或者是布局),并且其中定义相关的区块(block),然后继承(extend)该基础模板的子模板中就可以对基础模板中定义的区块进行重载
{include file='layout/header'}
{block name="title"}<title>这是标题</title>{/block}
<div>
{block name="content"}主内容{/block}
</div>
{include file='layout/footer'}
- 从图中我们可以看到block变量
- 然后我们在子模板(其实是当前操作的入口模板)中使用继承
- 首先我们需要用 extend 指定继承的模版
{extend name='public/base' /}
{block name='title'}<title>这是一个小标题</title>{/block}
{block name='content'}
<h2 class="font-thin m-b">电影
<span class="bar1 a1 bg-primary lter"></span>
<span class="bar2 a2 bg-info lt"></span>
<span class="bar3 a3 bg-success"></span>
<span class="bar4 a4 bg-warning dk"></span>
<span class="bar5 a5 bg-danger dker"></span>
</span>
</h2>
{/block}