You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

40 lines
1.5 KiB

3 years ago
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | ThinkPHP [ WE CAN DO IT JUST THINK IT ]
  4. // +----------------------------------------------------------------------
  5. // | Copyright (c) 2006-2014 http://thinkphp.cn All rights reserved.
  6. // +----------------------------------------------------------------------
  7. // | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
  8. // +----------------------------------------------------------------------
  9. // | Author: liu21st <liu21st@gmail.com>
  10. // +----------------------------------------------------------------------
  11. namespace Think\Template\Driver;
  12. /**
  13. * Smarty模板引擎驱动
  14. */
  15. class Smarty {
  16. /**
  17. * 渲染模板输出
  18. * @access public
  19. * @param string $templateFile 模板文件名
  20. * @param array $var 模板变量
  21. * @return void
  22. */
  23. public function fetch($templateFile,$var) {
  24. $templateFile = substr($templateFile,strlen(THEME_PATH));
  25. vendor('Smarty.Smarty#class');
  26. $tpl = new \Smarty();
  27. $tpl->caching = C('TMPL_CACHE_ON');
  28. $tpl->template_dir = THEME_PATH;
  29. $tpl->compile_dir = CACHE_PATH ;
  30. $tpl->cache_dir = TEMP_PATH ;
  31. if(C('TMPL_ENGINE_CONFIG')) {
  32. $config = C('TMPL_ENGINE_CONFIG');
  33. foreach ($config as $key=>$val){
  34. $tpl->{$key} = $val;
  35. }
  36. }
  37. $tpl->assign($var);
  38. $tpl->display($templateFile);
  39. }
  40. }