一、创建Smarty类库
1.将smarty的libs文件复制到libraries下(这里我重命名为smarty)
2.新建Cismarty.php文件。(符合文件规范,文件名的首字母和class名的首字母大写,但是控制器引用加载时,类名/文件名不需要大写)
Cismarty.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
<?php
if (!defined( 'BASEPATH' )) exit ( 'No direct script access allowed' );
require (APPPATH . 'libraries/smarty/Smarty.class.php' );
//CI,文件系统全用相对路径相对index.php所在的路径,url全部用绝对路径。
//BASEPATH - The full server path to the "system" folder
//APPPATH - The full server path to the "application" folder
class Cismarty extends Smarty
{
public function __construct()
{
parent::__construct();
$this ->caching = false;
$this ->setTemplateDir(APPPATH . 'views/Smarty/templates' ); //设定所有模板文件都需要放置的目录地址。
$this ->setConfigDir(APPPATH . 'views/Smarty/configs' ); //设定用于存放模板特殊配置文件的目录,
$this ->setCacheDir(APPPATH . 'views/Smarty/cache' ); //在启动缓存特性的情况下,这个属性所指定的目录中放置Smarty缓存的所有模板
$this ->setPluginsDir(APPPATH . 'views/Smarty/plugins' ); //插件目录
$this ->setCompileDir(APPPATH . 'views/Smarty/templates_c' ); //设定Smarty编译过的所有模板文件的存放目录地址
}
}
?>
|
在对应目录新建smarty的文件夹。templates,configs,cache,plugins,templates_c.
二、控制器文件
建立控制器文件paper.php(类名的首字母大写)(使用load加载libraries时默认执行构造器函数,使用url路由访问控制器时执行构造器函数和默认的index方法。)
paper.php:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
<?php
class Paper extends CI_Controller
{
function __construct()
{
parent::__construct();
}
public function pri_body()
{
$this ->load->library( 'cismarty' );
$this ->cismarty->assign( "name" , 1200);
$this ->cismarty->display( 'dd.tpl' );
}
}
?>
|
也可以在application/config/autoload.php中配置自动加载资源。