每个模块的模板文件是独立的,为了对模板文件更加有效的管理,ThinkPHP对模板文件进行目录划分,默认的模板文件定义规则是:
视图目录/[模板主题/]控制器名/操作名+模板后缀
默认的视图目录是模块的View目录(模块可以有多个视图文件目录,这取决于你的应用需要),框架的默认视图文件后缀是.html
。 新版模板主题默认是空(表示不启用模板主题功能)。
在每个模板主题下面,是以模块下面的控制器名为目录,然后是每个控制器的具体操作模板文件,例如:
User控制器的add操作 对应的模板文件就应该是:./Application/Home/View/User/add.html
如果你的默认视图层不是View,例如:
-
'DEFAULT_V_LAYER' => 'Template', // 设置默认的视图层名称
那么,对应的模板文件就变成了:./Application/Home/Template/User/add.html
。
模板文件的默认后缀的情况是.html
,也可以通过 TMPL_TEMPLATE_SUFFIX 来配置成其他的。例如,我们可以配置:
-
'TMPL_TEMPLATE_SUFFIX'=>'.tpl'
定义后,User控制器的add操作 对应的模板文件就变成是: ./Application/Home/View/User/add.tpl
如果觉得目录结构太深,可以通过设置 TMPL_FILE_DEPR 参数来配置简化模板的目录层次,例如设置:
-
'TMPL_FILE_DEPR'=>'_'
默认的模板文件就变成了:./Application/Home/View/User_add.html
3.2.3版本以上,支持把模板目录设置到模块目录之外,有两种方式:
一、改变所有模块的模板文件目录
可以通过设置TMPL_PATH常量来改变所有模块的模板目录所在,例如:
-
define('TMPL_PATH','./Template/');
原来的./Application/Home/View/User/add.html
变成了./Template/Home/User/add.html
。
二、改变某个模块的模板文件目录
我们可以在模块配置文件中设置VIEW_PATH参数单独定义某个模块的视图目录,例如:
-
'VIEW_PATH'=>'./Theme/'
把当前模块的视图目录指定到最外层的Theme目录下面,而不是放到当前模块的View目录下面。 原来的./Application/Home/View/User/add.html
变成了./Theme/User/add.html
。
如果同时定义了TMPL_PATH常量和VIEW_PATH设置参数,那么以当前模块的VIEW_PATH参数设置优先。