版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/rdsuncn1977/article/details/50906416
虽然现在不用模板的越来越多了,但Smarty用习惯了,还是不太舍得丢掉。
使用框架CI版本3.0.3及 Smarty版本3.1.29。下面描述整合过程。
1、下载smarty-3.1.29
2 、解压smarty-3.1.27的lib目录到CI项目中的application\third_party下面,别文件无视。将lib目录名改成Smarty。
注:放在那里并不重要,目录名能识别即可
3 、在libraries目录下面新建文件SmartyBase.php
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class SmartyBase {
var $v;
public function __construct()
{
include APPPATH. "third_party/Smarty-3.1.29/Smarty.class.php";//'third_party/Smarty-3.1.29/'
$view = new Smarty();
// 设置 Smarty 参数
$view->left_delimiter = '{';
$view->right_delimiter = '}';
$view->setTemplateDir(APPPATH . 'views/templates');//模板路径
$view->setCompileDir(APPPATH . 'cache/templates_c');
$view->setCacheDir(APPPATH . 'cache/scache');
// $view->setConfigDir(APPPATH . 'views/config');
$view->compile_check = true;
$view->force_compile = true;
$view->caching = false;
$view->cache_lifetime = 86400;
$this->v= $view;
}
}
4,在Core目录下新建MY_Controller.php,为了更方便使用Smarty。
<?php if (!defined('BASEPATH')) exit('No direct access allowed.');
class Controller extends CI_Controller {
public function __construct() {
parent::__construct();
$this->load->library('SmartyBase');
}
public function assign($key,$val)
{
$this->smartybase->v->assign($key,$val);
}
public function display($html)
{
$this->smartybase->v->display($html);
}
}
?>
5.然后就可以在Controller继承Controller 轻松使用Smarty了