Ci和smarty的完美结合
Ci结合smarty的配置步骤:
1. 第一步配置ci和下载smarty的模板个人喜欢用(Smarty-3.1.8)这个版本。
2. 第二部把下载到的smarty版本解压然后把里面的libs文件改名为smarty然后把这个文件拷到ciapplicationlibraries目录下面
3. 在ciapplicationlibraries这个目录下面建立一个文件,文件名可以自定义,例如见一个tp.php的文档。
4. 用编译器打开tp.php然后写入以下代码:
if ( ! defined('BASEPATH')) exit('No direct script access allowed');
require_once('smarty/smarty.class.php');
class Tp extends Smarty{
function tp(){
parent::Smarty();
$this->template_dir = APPPATH.'views';
$this->compile_dir = APPPATH.'templates_c/';
$this->left_delimiter = '<{';
$this->right_delimiter = '}>';
}
}
5. 在建立一个ciapplicationtemplates_c文件夹
6. 打开ciapplicationconfigautoload.php文件把$autoload['libraries'] = array();改成$autoload['libraries'] = array('database','tp');
OK我们的配置到这里就已经成功了,接下来我们开始测试
测试的第一步先建立一个控制器:
1. 在applicationcontrollers下建立一个文件名为ceshi.php的文件,文件内容
if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Home extends CI_Controller {
function __construct()
{
parent::__construct();
$this->load->helper('url');
$this->tp->assign('base_url', base_url());//定义css以及js
的路径
}
function index()
{
$this->tp->assign("title","恭喜你smarty安装成功!");
$this->tp->assign("body","欢迎使用smarty模板引擎");
$arr = array(1=>'zhang',2=>'xing',3=>'wang');
$this->tp->assign("myarray",$arr);
$this->tp->display('ceshi.html');
}
}
5.建立模板文件在ciapplicationviews目录下建立文件名为ceshi.html的文件,文件内容为
css/login.css" rel="stylesheet" type="text/css" />
<{$title}>
<{$body}>
<{foreach from=$myarray item=v}>
<{/foreach}>
最后输入地址http://localhost/ci/application/index.php/ceshi (主意ci代表的是你自己放置ci框架中文件的根目录)运行以后你将会看到你配置smarty成功的页面,到这里ci和smarty的整合以及测试就完工了