A-A+

关于TP模板的目录设置和渲染问题

2016年01月06日 站长资讯 暂无评论

最近的一些TP配置实战经验总结。记录如下。

站点目录/Common/Conf/config.php中:

  1. // 修改模板的目录 (此时视图目录失效)  
  2. // 原来:/站点目录/模块目录/视图目录/ [模板主题/]控制器名/动作名.后缀  
  3. // 现在:/模板目录/模块目录/ [模板主题/]控制器名/动作名.后缀  
  4. 'VIEW_PATH'=>'./Public/',  
  5.   
  6. // 指定视图目录,默认是View  
  7. 'DEFAULT_V_LAYER'=>'View',    
  8.    
  9. // 指定模板主题(不指定则无主题)  
  10. 'DEFAULT_THEME'=>'Red',  
  11.   
  12.    
  13. // 用下划线修改目录层次,  
  14. // 原来:视图目录下新建ControlName文件夹,action.tpl文件   
  15. 'TMPL_FILE_DEPR'=>'_',  
  16. // 现在:视图目录下新建ControlName_action.tpl文件  
  17.   
  18. // 指定模板文件后缀,默认是html  
  19. 'TMPL_TEMPLATE_SUFFIX'=>'.tpl',  

在控制器的方法文件中:

  1. class UserController extends Controller {  
  2. public function vv(){  
  3. // $this->display();     // 默认路径  
  4. // $this->assign('abc','new title');  // 指定变量和值  
  5. // $this->theme('default')->display(); // 指定模板主题  
  6.         // $this->display('age'); // 指定模板文件   
  7.    
  8. // $this->theme('Blue')->display('Admin@Person/salary/age');  //位置①  
  9.           //指定 模板主题、模块、控制器、模板文件  
  10. $this->display('./Template/Public/User/index.html'); //位置②  
  11.           //指定 绝对模板文件的绝对路径  
  12.    
  13. }  
  14. }  

需要说明的是:

位置①:如果在配置文件中设置有 'TMPL_FILE_DEPR'=>'_',

那么此时路径为:站点目录/Admin/视图目录/Blue/User_Person/salary/age.tpl

位置②:当绝对模板文件的路径存在并正确时,其它关于模板路径的配置全部失效,以此绝对路径为准

当使用T()方法获取或设置模板地址时:

T()返回的是当前模板的地址:

设置时,若使用了 'TMPL_FILE_DEPR'=>'_',

  1. T('Admin@age')          = ./站点/Admin/视图目录/Red/User_age.tpl  
  2. T ('Admin@salary/age')      = ./站点/Admin/视图目录/Red/salary_age.tpl  
  3. T ('Admin@Person/salary/age' ) = ./站点/Admin/视图目录/Person/salary_age.tpl  

注意与直接作display()参数的区别:

  1. display('Admin@age')         ./站点/Admin/视图目录/Red/User_age.tpl      
  2. display('Admin@salary/age')    ./站点/Admin/视图目录/Red/User_salary/age.tpl  
  3. display('Admin@Person/salary/age') ./站点/Admin/视图目录/Red/User_Person/salary/age.tpl  

若使用$this->display(T());同样可以渲染

一、此时不可再设置模板主题,即$this->theme('default')->display(T())时主题设置部分视为无效。

此时模板主题使用配置文件中的设置。

二、此时的路径已被转化为绝对路径,即相当于位置②的用法,只要路径正确即可。

标签:

给我留言