模板继承
模板继承是⼀项更加灵活的模板布局⽅式,模板继承不同于模板布局,甚⾄来说,应该在模板布局的上层。⼀个模板中可以定义任意多个名称标识不重复的区块,例如下⾯定义了⼀个base.html基础模板:
{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
本站由北京市万商天勤律师事务所王兴未律师提供法律服务