咨询热线:18076568990、0755-25823180

Thinkphp 5.1的模板继承机制

2020-8-29 07:23| 发布者: shopwt| 查看: 829| 评论: 0

简介:Thinkphp 5.1 模板继续差异于模板结构,乃至来说,应该在模板结构的上层。模板继续实在并不难明白,就好比类的继续一样,模板也可以界说一个根本模板(大概是结构),而且此中界说干系的区块(block),然后继续(ex

Thinkphp 5.1 模板继续差异于模板结构,乃至来说,应该在模板结构的上层。模板继续实在并不难明白,就好比类的继续一样,模板也可以界说一个根本模板(大概是结构),而且此中界说干系的区块(block),然后继续(extend)该根本模板的子模板中就可以对根本模板中界说的区块举行重载。

因此,模板继续的上风实在是操持根本模板中的区块(block)和子模板中更换这些区块。

每个区块由{block} {/block}标签构成。 下面就是根本模板中的一个范例的区块操持(用于操持网站标题):

{block name="title"}网站标题{/block}

block标签必须指定name属性来标识当前区块的名称,这个标识在当前模板中应该是唯一的,block标签中可以包罗任何模板内容,包罗其他标签和变量,比方:

{block name="title"}{$web_title}{/block}

你乃至还可以在区块中加载外部文件:

{block name="include"}{include file="Public:header" /}{/block}

一个模板中可以界说恣意多个名称标识不重复的区块,比方下面界说了一个base.html根本模板:




{block name="title"}标题{/block}


{block name="menu"}菜单{/block}
{block name="left"}左边分栏{/block}
{block name="main"}主内容{/block}
{block name="right"}右边分栏{/block}
{block name="footer"}底部{/block}


然后我们在子模板(实在是当前利用的入口模板)中利用继续:

{extend name="base" /}

{block name="title"}{$title}{/block}

{block name="menu"}
首页
资讯
论坛
{/block}

{block name="left"}{/block}

{block name="main"}
{volist name="list" id="vo"}
{$vo.title}
{$vo.content} {/volist} {/block} {block name="right"} 最新资讯: {volist name="news" id="new"} {$new.title}
{/volist} {/block} {block name="footer"} {__block__} @ThinkPHP 版权全部 {/block}

上例中,我们可以看到在子模板中利用了extend标签来继续了base模板。
在子模板中,可以对根本模板中的区块举行重载界说,假如没有重新界说的话,则体现相沿根本模板中的区块界说,假如界说了一个空的区块,则体现删除根本模板中的该区块内容。 上面的例子,我们就把left区块的内容删除了,其他的区块都举行了重载。而

{block name="footer"}
{__block__}@ThinkPHP 版权全部
{/block}

这一区块中有{__block__}这个标签,当区块中有这个标记时,就不光是直接重载这个区块,它体现引用所继续模板对应区块的内容到这个位置,终极这个区块是归并后的内容。以是这里footer区块末了的内容是: 底部@ThinkPHP 版权全部

extend标签的用法和include标签一样,你也可以加载其他模板:

{extend name="Public:base" /}

大概利用绝对文件路径加载

{extend name="./Template/Public/base.html" /}

在当前子模板中,只能界说区块而不能界说其他的模板内容,否则将会直接忽略,而且只能界说根本模板中已经界说的区块。

比方,假如接纳下面的界说:

{block name="title"}{$title}{/block}
首页
资讯
论坛

导航部分将是无效的,不会体现在模板中。

模板可以多级继续,好比B继续了A,而C又继续了B,终极C中的区块会覆盖B和A中的同名区块,但C和B中的区块必须是A中已界说过的。

子模板中的区块界说次序是随意的,模板继续的用法关键在于根本模板怎样结构和操持规划了,假如联合原来的结构功能,则会更加机动。


ShopWT(www.shopwt.com)是国内知名商城系统及商城网站建设提供商,其中销客多小程序系统为商家提供小程序商城开发、小程序分销系统、微分销系统、商城系统、电商网站建设、微信分销系统、小程序商城等多端商城及电子商务行业解决方案>
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
收藏 分享 邀请

鲜花

握手

雷人

路过

鸡蛋

精彩阅读

更多+

最新活动

联系我们

产品及方案咨询:18076568990、0755-25823180

电子邮箱:web@shopwt.com、客服微信:shopwtcom

公司地址:深圳市罗湖区人民南路3002号国贸大厦B座1608楼

  • 官方公众号

  • 微信客服