ThinkPHP框架中,模板中的公共部分可以提取出来,方便修改。可以使用Include标签来包含外部的模板文件,使用方法如下:
格式:<include file="完整模板文件名" />
例子:<include file="./Tpl/default/Public/header.html" />
注:这种情况下,模板文件名必须包含后缀。使用完整文件名包含的时候,特别要注意文件包含指的是服务器端包含,而不是包含一个URL地址,也就是说file参数的写法是服务器端的路径,如果使用相对路径的话,是基于项目的入口文件位置。
格式:<include file="操作名" />
例子:导入当前模块下面的read操作模版:XML/HTML代码(操作模板无需带后缀。)
<include file="read" />
格式:<include file="模块名:操作名" />
例子:包含Index模块的header操作模版:XML/HTML代码
<include file="Index:header" />
格式:<include file="主题名@模块名:操作名" />
例子:包含blue主题的User模块的read操作模版:XML/HTML代码
<include file="blue@User:read" />
格式:<include file="$变量名" />
例如:XML/HTML代码<include file="$tplName" />
注:给$tplName赋不同的值就可以包含不同的模板文件,变量的值的用法和上面的用法相同。
格式:{include:模板文件规则}
其中的模板文件规则可以使用上面提到的5种方式。
注意:由于模板解析的特点,从入口模板开始解析,如果外部模板有所更改,模板引擎并不会重新编译模板,除非缓存已经过期。如果修改了包含的外部模板文件后,需要把模块的缓存目录清空,否则无法生效。