Thinkphp6 模版分离和模版继承

〝 古人学问遗无力,少壮功夫老始成 〞

 在使用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}

猜你喜欢

转载自blog.csdn.net/weixin_41635750/article/details/124534936