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 allowed‘);
require(APPPATH.‘libraries/Smarty/Smarty.class.php‘);
class Ci_smarty extends Smarty
{
    protected $ci;

    public function __construct()
    {
        parent::__construct();

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

四、在config文件下创建smarty.php

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

$config[‘cache_lifetime‘]     =     60;         //更新周期
$config[‘caching‘]            =     false;      //是否使用缓存,项目在调试期间,不建议启用缓存
$config[‘template_dir‘]       =     APPPATH.‘views‘;      //设置模板目录
$config[‘compile_dir‘]        =     APPPATH.‘views/template_c‘;      //设置编译目录
$config[‘cache_dir‘]          =     APPPATH.‘views/cache‘;    //缓存文件夹
$config[‘use_sub_dirs‘]       =     true;      //子目录变量(是否在缓存文件夹中生成子目录)
$config[‘left_delimiter‘]     =     ‘<{‘;
$config[‘right_delimiter‘]    =     ‘}>‘;
 

顺便再CI项目目录下的 views 目录下创建目录:template_c,cache  (创建的时候注意权限)

五、application->config找到autoload.php,修改如下

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

六、在application->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->ci_smarty->assign($key,$val);
    }

    public function display($html) {
        $this->ci_smarty->display($html);
    }
}
 

到此已经配置成功
下面进行测试
在application->controllers目录下新建welcome.php

<?php if ( ! defined(‘BASEPATH‘)) exit(‘No direct script access allowed‘);
class Welcome extends MY_Controller
{
    public function index()
    {
        $test=‘配置成功‘;
        $this->assign(‘test‘,$test);
        $this->display(‘index.html‘);
    }
}
 

在application->views目录下新建index.html

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>smarty配置测试</title>
</head>
<body>
    <{$test}>
</body>
</html>
 

转自:http://codeigniter.org.cn/forums/forum.php?mod=viewthread&tid=18162

时间: 2024-11-08 06:27:32

CI 2.2 + smarty 3.1.18 完美整合配置成功的相关文章

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框架】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】系列二:Ubuntu环境虚拟机安装及配置

好了,做好了初步计划之后,如果可行性没问题,就可以开始实践了. 准备前提:VirtualBox.ubunut镜像 如果没有,可以通过如下地址下载,安装过程此处不做描述. VirtualBox 4.3.12 for Windows hosts:http://download.virtualbox.org/virtualbox/4.3.12/VirtualBox-4.3.12-93733-Win.exe ubuntu-14.04-desktop-amd64.iso:http://mirrors.hu

java 一款可以与ssm框架完美整合的web报表控件

硕正套件运行于客户端(浏览器),与应用服务器(Application Server)技术无关,所以能完全用于J2EE. ASP.Net.php等技术开发的Web应用产品中. 硕正套件部署于服务器,支持包括Tomcat.IIS.WebSphere在内的所有Web服务器.  硕正套件本身以C/C++开发,性能无可匹敌.对于Chrome.Firefox而言,硕正套件是一个符合Mozilla  NPAPI 规范的Plug-in插件:而对于 IE 浏览器而言,硕正套件则是一个标准的ActiveX控件.  

[转] Cacti+Nagios监控平台完美整合

Cacti+Nagios监控平台完美整合 http://os.51cto.com/art/201411/458006.htm 整合nagios+cacti+微信.飞信实现网络监控报警 http://blog.itpub.net/29357437/viewspace-1169680/

Swarmify完美整合WordPress打造免费网站加速CDN

Swarmify完备整合WordPress打造免费站点加快CDN Swarmify先前称号为Swarm CDN,是一家供给CDN服务的公司,针对影音及图片加快分红几种不同型态产品,就中有项专为WordPress站点加快的WordPress Acceleration免费计划,主如果让站点图片有加快及分流.缩减流量结果,在载入页面时能从更近节点来得到图片,如果你的站点自己流量不大,想尝尝可否放慢图片载入速率的话,可以参考本文讲授免费使用这项功能. Swarmify的WordPress Acceler

Ubuntu 18.04LTS安装配置Java OpenJDK8

安装OpenJDK8 sudo apt-get install openjdk-8-jdk 配置Java环境变量 sudo vim /etc/profile 在profile末尾添加以下内容: export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 export JRE_HOME=$JAVA_HOME/jre export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH export PATH=$J

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 { pro

smarty 的学习----ubuntu下初步配置

转自:http://blog.csdn.net/ma332567575/article/details/7904124 首先去www.smarty.net下载最新版的Smarty 把下载后的压缩包在网站根目录下解压 tar -zxvf myindex Smarty.tar.gz 把解压后的文件夹中的libs放到网站根目录下,并且改名字为smarty 然后在根目录下建立下面两个文件夹 templates 和 templates_c 最后在根目录下编写index.php  代码如下: <?phpin