您当前的位置: 首页 > 学无止境 > 心得笔记 网站首页心得笔记
thinkphp3.2.1学习笔记-视图
发布时间:2017-09-19 11:25:35编辑:雪饮阅读()
默认模板文件定义规则:
视图目录/[模板主题/]模块名/控制器名/操作名+模板后缀
没有模板主题时则忽略该路径
控制器中默认模板调用:$this->display();
修改视图目录:默认是view目录
'DEFAULT_V_LAYER'=>'Template'
修改模板后缀:默认是.html
'TMPL_TEMPLATE_SUFFIX'=>'.tpl'
修改模板目录层次表示:默认是以模板文件存储路径表示目录层次
'TMPL_FILE_DEPR'=>'_'
修改后模板文件都直接做为view目录的下级并且其文件名形如User_index.tpl
修改外部模板目录:默认模板目录都是在应用目录内,我们可以修改到应用目录外部去
'VIEW_PATH'=>'./Public/'
设置默认主题目录:默认情况下是没有主题的
'DEFAULT_THEME'=>'default'
设置默认主题后则模板文件默认放在默认主题目录中的。
如果要使用自定义主题目录的模板做为主题,则可以通过连贯操作实现:
$this->theme('blue')->display();
display方法完整调用的三个参数:
display([模板文件],[字符编码],[输出类型])
如:
$this->display('index','utf-8','html');
模板文件调用不仅可以在当前层次也可以指定层次:
$this->display('aaa/index','utf-8','html');
模板文件调用也可以调用指定模块:
$this->display('Admin@aaa/index','utf-8','html');
模板文件路径完全自定义:
$this->display('./Template/Public/User/index.html');
这里"./"相对于thinkphp3.2.1的入口文件index.php,另外需要注意不要被thinkphp3.2.1的错误信息误导,这里的路径只相对完整于index.php,如果你有设置模板后缀为.tpl则模板位置不对的时候报错信息中可能存在'index.html.tpl',但其实这里只能是和指定中的一样是index.html
获取当前模板地址:
控制器的方法中执行如下:
echo T();
这个T函数也可以给予一个字符串目录做为参数然后生成一个模板地址:
echo T("./Template/Public/User/index.html");
这样你如果对模板解析不清楚则可以通过T函数来测试。
另外T函数解析的返回值(同样是字符串)可以直接做为display方法的参数。如:
$this->display(T());
模板内容的获取与渲染:
display可以对模板内容获取然后渲染输出。
其实display是执行两个方法,一个是获取一个是渲染,如下语句同样实现了display的效果:
$content=$this->fetch();
$this->show($content);
fetch():获取模板内容,show():渲染输出模板
这样分开有个好处,有时候模板内容比较复杂需要处理再输出,可以通过fetch()先获取,然后将获取内容过滤处理后再show()渲染输出。
关键字词:thinkphp3.2.1,视图