您好,欢迎来到独旅网。
搜索
您的当前位置:首页thinkphp5模板继承

thinkphp5模板继承

来源:独旅网
thinkphp5模板继承

模板继承

模板继承是⼀项更加灵活的模板布局⽅式,模板继承不同于模板布局,甚⾄来说,应该在模板布局的上层。⼀个模板中可以定义任意多个名称标识不重复的区块,例如下⾯定义了⼀个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}

在⼦模板中,可以对基础模板中的区块进⾏重载定义,如果没有重新定义的话,则表⽰沿⽤基础模板中的区块定义,如果定义了⼀个空的区块,则表⽰删除基础模板中的该区块内容。这⼀区块中有{_block_}这个标签,当区块中有这个标记时,就不只是直接重载这个区块,它表⽰引⽤所继承模板对应区块的内容到这个位置,最终这个区块是合并后的内容。在当前⼦模板中,只能定义区块⽽不能定义其他的模板内容,否则将会直接忽略,并且只能定义基础模板中已经定义的区块。包含⽂件:

在当前模版⽂件中包含其他的模版⽂件使⽤include标签,标签⽤法:

{include file='模版⽂件1,模版⽂件2,...' /}

包含的模板⽂件中不能再使⽤模板布局或者模板继承。模版表达式的定义规则为:模块@控制器/操作

{include file=\"public/header\" /} // 包含头部模版header{include file=\"public/menu\" /} // 包含菜单模版menu

{include file=\"blue/public/menu\" /} // 包含blue主题下⾯的menu模版

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- dcrkj.com 版权所有 赣ICP备2024042791号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务