欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

ThinkPHP模板布局与继承 有大用

读原文

ThinkPHP的模板引擎内置了布局模板功能支持,可以方便的实现模板布局以及布局嵌套功能。

项目目录

       

全局配置方式

这种方式仅需在项目配置文件中添加相关的布局模板配置,就可以简单实现模板布局功能,比较适用于全站使用相同布局的情况,需要配置开启layout_on 参数(默认不开启),并且设置布局入口文件名layout_name(默认为layout)。

打开config/template.php进行设置

// 开启全部模板布局
'layout_on'    => true,
// 全局模板布局文件名
'layout_name'  => 'layout',
// 自定义标签
'layout_item'  => '{__TEXT__}',

view目录下创建 demo2\test1.htmlheader.htmlfooter.htmllayout.html

header.html源码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>模板引用</title>
</head>
<body>
<h2 style="color: red">我是网站的头部</h2>

footer.html源码

<h2 style="color: green">我是网站的尾部</h2>
</body>
</html>

layout.html源码

{include file="header" /}

<!--默认 {__CONTENT__}-->
{__TEXT__}

{include file="footer" /}

demo2\test1.html源码

<h2>我是网站的主体部分text</h2>

示例效果

       

模板继承

view目录下创建 demo2\test2.htmlpublic\base.htmlpublic\baseHeader.htmlpublic\baseFooter.html

base.html源码

{include file="public/baseHeader" /}

{block name="body"}
主体
{/block}

{include file="public/baseFooter" /}

baseHeader.html源码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>模板继承</title>
</head>
<body>
<h2 style="color: red">我是网站的baseHeader</h2>

baseFooter.html源码

<h2 style="color: green">我是网站的baseFooter</h2>
</body>
</html>

test2.html源码

{extend name="public/base"}

{block name="body"}
<!--{__block__} 用于显示母版中的内容-->
<h2>我的模板继承</h2>
{/block}

<h2>block外的内容是不显示的!!!</h2>

示例效果

       

【注意】

相关内容需要写在block标签中间,写在外面页面上无任何效果!!!

总结

这一章讲了模板布局与继承技术相关操作,

  • 模板布局需要在config/template.php文件中进行配置,相对不是很灵活

  • 模板继承创建基类,继承使用相关更灵活,记住作用域需要在block中即可

同时感谢PHP中文网 的教学资源...

以上均是自学过程的积累,学到哪记到哪

原创文章,转载请注明出处,谢谢!

来自     https://www.jianshu.com/p/88d7f0d428ee  

普通分类: