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