2013年1月

Codeigniter 框架集成 Smarty 模板

1.复制 Smarty 库文件夹到 Codeigniter 合适位置

将 Smarty 的库文件夹 Smarty/libs/ 复制到 Codeigniter 根目录,并重命名为 smarty。

目录结构截图

2.在 Codeigniter 中创建一个库文件

在 Codeigniter 应用目录下库文件夹 codeigniter/application/libraries/ 中新建一个文件,命名为 Mysmarty.php 代码如下:

require dirname(APPPATH) . '/smarty/Smarty.class.php';

class Mysmarty extends Smarty
{
    public function __construct()
    {
        parent::__construct();

        $this->setTemplateDir(APPPATH . 'views');
        $this->setCompileDir(APPPATH . 'cache');
    }
}

3.设置自动加载该库文件

修改自动加载文件 codeigniter/application/config/autoload.php
增加一项:

$autoload['libraries'] = array('mysmarty');

至此,集成完毕。

4.如何调用

在控制器文件中可以通过 $this->mysmarty 类来调用 Smarty 的方法了,如:

$this->mysmarty->assign('name', 'Eric Ling');
$this->mysmarty->display('sample.tpl');

附:上述操作所使用的程序版本:

CodeIgniter 2.1.3
Smarty 3.1.12