CI 里面整合Smarty

前言:

我们知道CI里面是不提倡使用模板引擎的,说是为了执行效率,但大多项目中,我们还是为了灵活性和使用的习惯性,加入Smarty。那么如何加入呢?很简单。

步骤:

1.下载codeignier最新的稳定版(本人是用的2.1.0),解压缩到apache的运行目录里面,可以删除user_guide帮助文件夹和license.txt记事本文件。

2.下载smarty最新的稳定版(本人是用的3.1.8),把smarty解压缩以后把libs文件夹改名为smarty放到在codeignier的application文件夹里的libraries文件夹里,

   在  libraries文件夹中新建php文件命名为Smarty.php,文件配置内容如下(可根据需要自己更改,已加备注):

  

if (!defined('BASEPATH')) exit('No direct script access allowed');
require_once('smarty/Smarty.class.php');
class CI_Smarty extends Smarty{
        function __construct() {
                parent::__construct();
                $this->template_dir =  APPPATH."views"; //模板存放目录,本人直接用的是CI的views目录,当然可以用templates也行。
                $this->compile_dir = APPPATH."templates_c"; //编译目录,在application下需要新建此目录
                $this->cache_dir = APPPATH."cache";//缓存目录。
                $this->caching = 0;
                //$this->cache_lifetime = 120; //缓存更新时间
                $this->debugging = true;
                $this->compile_check = true; //检查当前的模板是否自上次编译后被更改;如果被更改了,它将重新编译该模板。
                //$this->force_compile = true; //强制重新编译模板
                //$this->allow_php_templates= true; //开启PHP模板
                $this->left_delimiter = "{"; //左定界符
                $this->right_delimiter = "}"; //右定界符
                $this->smarty->assign('base_url', base_url()); 非常重要,静态页面的css以及js路径
       }
}
/* End of file Smarty.php */
/* Location: ./application/libraries/Smarty.php */ 

3. 新建默认控制器Home,在默认Home控制器里输入如下代码:

if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Home extends CI_Controller {
        function __construct()
        {
                parent::__construct();
        }
        function index()
        {
                $this->load->library('smarty');
                $this->smarty->assign("title","恭喜你smarty安装成功!");
                $this->smarty->assign("body","欢迎使用smarty模板引擎");
                $arr = array(1=>'zhang',2=>'xing',3=>'wang');
                $this->smarty->assign("myarray",$arr);
                $this->smarty->display('index_2.html');
        }
}
/* End of file home.php */
/* Location: ./application/controllers/home.php */

4.在views模板文件夹里新建文件index_2.html输入如下代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 <script src='<!--{$base_url}-->js/jquery.min.js' type='text/javascript' ></script>
 <link href="<!--{$base_url}-->css/login.css" rel="stylesheet" type="text/css" />
 <title>smarty安装测试</title>
</head>
<body>
<h1>{$title}</h1>
<p>{$body}</p>
<ul>
        {foreach from=$myarray item=v}
        <li>{$v}</li>
       {/foreach}
</ul>
</body>
</html>

5.打开浏览器输入:http://localhost/ci/index.php/home/index 出现以下,恭喜,成功!


6.附上结构图




  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值