CI框架集成Smarty

1.下载smarty源码包,解压放置于项目目录 libriaries中

2.在libraries中建立Cismarty.php ,填写如下代码

<?php
if(!defined(‘BASEPATH‘)) EXIT(‘No direct script asscess allowed‘);
require_once( APPPATH . ‘libraries/smarty-3.1.27/Smarty.class.php‘ );

class Cismarty extends Smarty {
    protected $ci;
    protected $template_ext;
    protected $complie_dir;
    public function  __construct(){
        parent::__construct();

        $this->ci = & get_instance();
        $this->ci->load->config(‘smarty‘);//加载smarty的配置文件
        //获取相关的配置项
        $this->template_dir   = $this->ci->config->item(‘template_dir‘);
        $this->complie_dir    = $this->ci->config->item(‘compile_dir‘);
        $this->cache_dir      = $this->ci->config->item(‘cache_dir‘);
        $this->config_dir     = $this->ci->config->item(‘config_dir‘);
        $this->template_ext   = $this->ci->config->item(‘template_ext‘);
        $this->caching        = $this->ci->config->item(‘caching‘);
        $this->cache_lifetime = $this->ci->config->item(‘lefttime‘);
        $this->left_delimiter  = ‘<{‘;
        $this->right_delimiter = ‘}>‘;
    }
}

3.在项目目录的config文件夹内新建文件smarty.php文件,里面的内容如下:

<?php
if ( ! defined(‘BASEPATH‘)) exit(‘No direct script access allowed‘);
$config[‘theme‘]        = ‘default‘;
$config[‘template_dir‘] = APPPATH . ‘views‘;
$config[‘compile_dir‘]  = FCPATH . ‘templates_c‘;
$config[‘cache_dir‘]    = FCPATH . ‘cache‘;
$config[‘config_dir‘]   = FCPATH . ‘configs‘;
$config[‘template_ext‘] = ‘.html‘;
$config[‘caching‘]      = false;
$config[‘lefttime‘]     = 60;

4.在入口文件所在目录新建文件夹templates_c、cache、configs;

5.在项目目录下面的config目录中找到autoload.php文件

$autoload[‘libraries‘] = array(‘Cismarty‘);

6.在项目目录的core文件夹中新建文件MY_Controller.php 内容如下:

<?php
 if (!defined(‘BASEPATH‘)) exit(‘No direct access allowed‘);

class MY_Controller extends CI_Controller { 

    public function __construct() {

        parent::__construct();
    }

    public function assign($key,$val) {

        $this->cismarty->assign($key,$val);
    }

    public function display($html) {

        $this->cismarty->display($html);
    }
}

以上,配置完毕。

时间: 2025-01-05 05:04:01

CI框架集成Smarty的相关文章

**【ci框架】PHP的CI框架集成Smarty的最佳方式

因为CI自带的模板功能不是很方便,所以大家普遍采用集成Smarty的方式来弥补CI这方面的不足. 本人在网上看了不少CI集成Smarty的教程,包括咱们CI论坛里面的一个精华帖子 http://codeigniter.org.cn/forums/forum.php?mod=viewthread&tid=10345. 自己对比了一下这些教程,我认为下面这个方案是所有里面最优秀的,强烈推荐给大家(当然也是我自己采取的方案) 出处: http://www.cnmiss.cn/?p=261 原文里面的一

ci框架与smarty的整合

ci框架与smarty的整合 来源:未知    时间:2014-10-20 11:38   阅读数:108   作者:xbdadmin [导读] Ci 和 smarty 的完美结合 Ci 结合 smarty 的配置步骤: 1.第一步配置 ci 和下载 smarty 的模板个人喜欢用( Smarty-3.1.8)这个版本. 2.第二部把下载到的 smarty 版本解压然后把里面的 libs文件改名... Ci和smarty的完美结合 Ci结合smarty的配置步骤: 1. 第一步配置ci和下载sm

CI框架源码阅读笔记1 - 环境准备、基本术语和框架流程

最开始使用CI框架的时候,就打算写一个CI源码阅读的笔记系列,可惜虎头蛇尾,一直没有行动.最近项目少,总算是有了一些时间去写一些东西.于是准备将之前的一些笔记和经验记录下来,一方面权作备忘,另一方面时刻提醒自己:借鉴和学习才有出路,忘记过去意味着背叛! 基本术语说明 在本文开始之前,有必要对文中反复出现的术语做一个简单的说明,如果你对这一部分已经熟谙,完全可以略过.本文中反复出现和提及的术语包括: 前端控制器(Front Controller): 用于集中控制用户的所有请求的组件,将用户的请求发

CI集成Smarty的实现方式

给新伙伴的忠告:不要去想着有多复杂,看一遍绝对就会弄了! 这样集成的目的是什么? 因为我使用过CI和smarty,所以我就按自己的理解讲一下:CI框架在控制器.models方面做的很好,但在多变的视图方面我感觉没有专门处理视图的smarty模板做的好,因此就想到了将这两者合并,各取其长. 1.下载CI框架.smarty模板,这个就不需要我多说了. 2.将smarty的libs文件夹copy到CI的third_party文件夹下(其实copy到哪个文件夹下是无所谓的,只要加载到它就行了),并更名为

ci框架操作数据库基本方法

授课过程中如果涉及到文件夹或目录时,可使用缩进进行演示: application |-----libraries |-----xxx_helper.php system |-----libraries |-----url_helper.php --------------------------------------------------------------------------------------------------------------------------------

CI 2.2 + smarty 3.1.18 完美整合配置成功

CI 2.2 + smarty 3.1.18 配置成功 一.准备文档下载  (CI 框架和smarty) 二.将Smarty-3.1.18 源码包里面的libs文件夹copy到ci的项目目录application下面的libraries文件夹下,并重命名为Smarty 三.application下面的libraries文件夹下,创建文件 Ci_smarty.php <?php if(!defined('BASEPATH')) exit('No direct script access allow

将smarty模版引擎整合到CI框架中

将smarty模版引擎整合到CI框架中. 下载:ci,smarty 配署ci 在这里就不多说了…… 1.  将下载好的smarty包的lib文件上传到ci中的application/libraries 文件中,将取名称修改为smarty,在libraries文件新建cismarty.php文件,内容如下: if (!defined('BASEPATH')) exit("no direct script access allowd"); //以下是加载smarty的类文件 require

【军哥谈CI框架】之CI中集成百度UEditor

Hello,各位亲,新的一周来临啦,很高兴这么快又跟大家伙见面!话说上一回,军哥带大家用JQuery写了一个城市级联菜单的例子 ,不知道亲们学会了多少,是否自己可以独立写出来了呢. 军哥很是期待大家学有所获的,有不明白的地方随时留言吧.好了,接下来,今天军哥要带大家来一起来完成如何在CI框架中集成百度的UEditor编辑器. 我们先简单来了解一下为什么选择百度UEditor编辑器? UEditor是由百度web前端研发部开发所见即所得富文本web编辑器,具有轻量,可定制,注重用户体验等特点,开源

CI框架中集成CKEditor编辑器的教程

CKEditor是在很多开发过程中都会用到的一个富文本编辑器,那么如何在CI框架中使用它呢?这里介绍了在CI下使用CKEditor的方法,版本比较低,是在CI 1.7.3下使用fckeditor 2.6.6.供大家参考. 1.将fckeditor目录置入CI_PATH/system/plugins/ 2.在CI_PATH/system/application/config/config.php中加入: $config['fckeditor_basepath'] = "/system/plugin