ThinkPHP示例之模板主题,模板主题可以对相同的控制器输出进行不同的布局和样式调整。
首先需要下载框架核心,然后把示例解压到Web根目录下面,并修改入口文件中的框架入口文件的位置。访问
- http://localhost/theme/
复制代码
就会显示:
点击切换到think主题后页面变成
要让模板支持多主题和切换,非常简单,只需要在项目的配置文件中配置:
- 'DEFAULT_THEME' => 'default',
- 'TMPL_DETECT_THEME' => true, // 自动侦测模板主题
复制代码
DEFAULT_THEME表示默认的模板主题,如果设置了默认主题,就表示启用了模板主题功能。
该参数的惯例配置是空,因此在没有设置的情况下,我们访问模板文件的路径是没有主题的,例如:
- Tpl/Index/index.html // 表示Index模块的index操作模板
复制代码
如果默认主题设置为default的话,上面的模板路径就多了一个主题子目录:
- Tpl/default/Index/index.html
复制代码
如果希望可以通过URL切换不同的模板,就需要配置开启TMPL_DETECT_THEME参数,该示例中,我们定义了两个模板主题:default和think。
对应的模板文件分别是:
- Tpl/default/Index/index.html
- Tpl/think/Index/index.html
复制代码
可以通过在URL地址中传入t参数来切换
- http://localhost/theme/?t=think
复制代码
如果切换到一个不存在的模板主题,就会使用默认主题。