每个模块的模板文件是独立的,为了对模板文件更加有效的管理,ThinkPHP对模板文件进行目录划分,默认的模板文件定义规则是:

视图目录/[模板主题/]控制器名/操作名+模板后缀

默认的视图目录是模块的View目录(模块可以有多个视图文件目录,这取决于你的应用需要),框架的默认视图文件后缀是​​.html​​。 新版模板主题默认是空(表示不启用模板主题功能)。

在每个模板主题下面,是以模块下面的控制器名为目录,然后是每个控制器的具体操作模板文件,例如:

User控制器的add操作 对应的模板文件就应该是:​​./Application/Home/View/User/add.html​

如果你的默认视图层不是View,例如:

  1. ​'DEFAULT_V_LAYER' => 'Template', // 设置默认的视图层名称​

那么,对应的模板文件就变成了:​​./Application/Home/Template/User/add.html​​。

模板文件的默认后缀的情况是​​.html​​,也可以通过 TMPL_TEMPLATE_SUFFIX 来配置成其他的。例如,我们可以配置:

  1. ​'TMPL_TEMPLATE_SUFFIX'=>'.tpl'​

定义后,User控制器的add操作 对应的模板文件就变成是: ​​./Application/Home/View/User/add.tpl​

如果觉得目录结构太深,可以通过设置 TMPL_FILE_DEPR 参数来配置简化模板的目录层次,例如设置:

  1. ​'TMPL_FILE_DEPR'=>'_'​

默认的模板文件就变成了:​​./Application/Home/View/User_add.html​

3.2.3版本以上,支持把模板目录设置到模块目录之外,有两种方式:

一、改变所有模块的模板文件目录

可以通过设置TMPL_PATH常量来改变所有模块的模板目录所在,例如:

  1. ​define('TMPL_PATH','./Template/');​

原来的​​./Application/Home/View/User/add.html​​变成了​​./Template/Home/User/add.html​​。

二、改变某个模块的模板文件目录

我们可以在模块配置文件中设置VIEW_PATH参数单独定义某个模块的视图目录,例如:

  1. ​'VIEW_PATH'=>'./Theme/'​

把当前模块的视图目录指定到最外层的Theme目录下面,而不是放到当前模块的View目录下面。 原来的​​./Application/Home/View/User/add.html​​变成了​​./Theme/User/add.html​​。

如果同时定义了TMPL_PATH常量和VIEW_PATH设置参数,那么以当前模块的VIEW_PATH参数设置优先。