找回密码
 注册账号

QQ登录

只需一步,快速开始

《泰拉瑞亚下载-1.4.2.3版》 泰拉瑞亚服务器 - MOD模组下载

入驻泰拉战网 新手指引 - 升级 - 师徒

泰拉瑞亚合成表 泰拉卡牌 - 泰拉江湖 - 泰拉刺客

联系泰拉开发组👈进入 积分市场 - 房产交易 - 水晶获取

查看: 2193|回复: 0

Discuz!X 模板使用 {template...} 与 {subtemplate...} 的区别

[复制链接]

431

主题

77

回帖

8

广播

论坛版主

积分
214
泰拉
0
水晶
10
铜钥匙
0
银钥匙
0
金钥匙
0

【江湖新秀】【宝剑回鞘】【泰拉达人】【奥运选手】

发表于 2020-3-21 12:42:25 | 显示全部楼层 |阅读模式
本帖最后由 mickeyort 于 2020-3-21 12:43 编辑

之前在Discuz x2.5的模版中引入页头是使用的<!--{subtemplate common/header}-->,而在discuz x3中很多都使用的<!--{template common/header}-->,那么这2个在模版中有什么区别呢?下面就简单说说:

1、在模版中使用{template...},会在生成的 tpl 文件中生成如下代码:

  1. <?php include template('common/header'); ?>
复制代码


此代码将在缓存文件被调用的时候,再次加载目标模版!

2、如果使用{subtemplate...} ,则在 tpl 文件中就直接加载了子模版!

简单说就是:使用 sub 嵌套模版的时候,是直接将被嵌套模版解析为PHP语句并合并入母模板中!而使用 template 的方式,则是:程序运行时include嵌套模板内容!

显然,使用 sub 能加快页面加载的速度!

补充:

还有个区别没人说,template引入的模板如果不存在,会报错,subtemplate引入的模板如果不存在,标签将显示为<!-- home/spacecp_profile_nav -->形式被注释掉的代码,不报错。
[发帖际遇]: mickeyort 乐于助人,奖励 15 泰拉. 幸运榜 / 衰神榜
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

QQ|友链申请|Archiver|手机版|小黑屋|游芯沙盒 ( 陕ICP备11006283号-1 )

GMT+8, 2024-5-18 18:30 , Processed in 0.111115 second(s), 38 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表