对于一些有共同属性的页面(如页脚),可以单独制作成一个模板,再利用 ThinkPHP 提供的模板包含功能包含进来。这样,当要修改这些公共页面时,只需修改对应的模板即可而不必修改每一个页面。
模板的包含使用 include 关键字,有如下所述 6 种方式。
包含当前模块的其他操作模板文件
格式:
<include file="操作名" />
例子:
<include file="read" />
包含其他模块的操作模板
格式:
<include file="模块名:操作名" />
例子:
<include file="Public:header" />
该例子包含Public模块的header操作模板。
提示
同模板输出一样,这种方式实际上并不检测对应的模块和操作是否存在,只需根据模板定义规则创建了该模板即可(即该模板实际存在即可)。
使用完整文件名包含
格式:
<include file="完整模板文件名" />
例子:
<include file="./Tpl/default/Public/header.html" />
这种方式,指的是服务器端包含(服务器端路径),而不是包含一个 URL 地址。如果使用相对路径的话,是基于项目入口文件位置而言。
注意:该种方式模板文件名必须包含后缀。
包含其他模板主题的模块操作模板
格式:
<include file="主题名@模块名:操作名" />
例子:
<include file="Xp@User:read" />
用变量控制要导入的模版
格式:
<include file="$变量名" />
例子:
<include file="$tplName" />
给 $tplName 赋不同的值就可以包含不同的模板文件。
使用快捷方式包含文件
格式:
{include:模板文件规则}
例子:
模板文件规则可以使用上面提到的5种方式。
注意
如果被包含的模板有所更改,模板引擎并不会重新编译模板,除非缓存已经过期。所以如果修改了包含的外部模板文件后,需要把模块的缓存目录(RuntimeCache)清空,否则无法生效。

最新文章

  1. 修改tomcat服务器banner的方法
  2. mac 安装php7
  3. 创建 Transact-SQL 作业步骤
  4. python 3 学习笔记(二)
  5. HTML 头部标记
  6. Eclipse 各种小图标的含义
  7. [转]正确使用SQLCipher来加密Android数据库 - 朝野布告
  8. Linq专题之对象初始化器
  9. Swift翻译之-关于Swift
  10. YTU 2335: 0-1背包问题
  11. python——no module named XX
  12. HDU1022 Train Problem I 栈的模拟
  13. Nhibernate 映射关系,一对多 多对一与多对手在映射文件中的体现。
  14. python 爬虫时遇到问题及解决
  15. 30天自制操作系统第八天学习笔记(u盘软盘双启动版本)
  16. GREENPLUM简单介绍
  17. 29. pt-table-usage
  18. 莫烦theano学习自修第四天【激励函数】
  19. FTL 数字有逗号
  20. FoxMail提示:请求的名称有效,但是找不到请求的类型的数据

热门文章

  1. 使用 SpiritManager 类管理在 XNA 游戏中的精灵(十四)
  2. dotfiles项目
  3. python 学习分享-函数篇2
  4. Leetcode 623.在二叉树中增加一行
  5. [ZJOI2011][bzoj2229] 最小割 [最小割树]
  6. java根据开始时间结束时间计算中间间隔日期
  7. jupyter的使用
  8. vue-element-admin开发模式下style标签热更新失效[解决办法]
  9. MAC电脑安装Mysql服务器和Navicat for mysql客户端
  10. 用来武装Firebug的十四款Firefox插件