Smarty 是一个基于PHP开发的PHP模板引擎。它提供了逻辑与外在内容的分离,简单的讲,目的就是要使 用PHP程序员同美工分离,使用的程序员改变程序的逻辑内容不会影响到美工的页面设计,小编主推各位下载本Smarty扩展模块!
安装教程
下载smarty扩展压缩包,解压(很自然的事情),放置于扩展目录中(extensions)。
保证smarty主文件路径:application/extensions/smarty/smarty-2.1/Smarty.class.php 。
使用方法
1、在Controller文件中重定义initView()类方法,代码如下:
/** * 实例化Smarty. * * @access protected * @return object */ protected function initView() { return $this->ext('smarty'); }
如果想让程序效率运行更高一点,可以直接加载并实现化smarty。代码如下:
/** * 实例化Smarty. * * @access protected * @return object */ protected function initView() { //文件加载 $filePath = BASE_PATH . '/extensions/smarty/smarty-2.1/Smarty.class.php'; Doit::loadFile($filePath); $smarty = $this->instance('Smarty'); $smarty->template_dir = BASE_PATH . '/views/'; $smarty->compile_dir = CACHE_PATH . '/views/'; $smarty->cache_dir = CACHE_PATH . '/data/'; $smarty->config_dir = BASE_PATH . '/config/'; return $smarty; }
然后,这个重定义initView()的Controller文件中的Action类方法中在对视图文件处理时,就可以直接使用Controller提供的类方法。实例代码如下:
public function indexAction() { $this->assign('content', '你好,这是一个Smarty扩展实例'); $this->display('index/index.html'); }
其视图文件路径为:application/views/index/index.html, 内容为:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>实例:Smarty扩展</title> </head> <body> {$content} </body> </html>
∨ 展开