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
CI 2.2 + smarty 3.1.18 完美整合配置成功的更多相关文章
- ci框架与smarty的整合
ci框架与smarty的整合 来源:未知 时间:2014-10-20 11:38 阅读数:108 作者:xbdadmin [导读] Ci 和 smarty 的完美结合 Ci 结合 sma ...
- **【ci框架】PHP的CI框架集成Smarty的最佳方式
因为CI自带的模板功能不是很方便,所以大家普遍采用集成Smarty的方式来弥补CI这方面的不足. 本人在网上看了不少CI集成Smarty的教程,包括咱们CI论坛里面的一个精华帖子 http://cod ...
- Cacti+Nagios监控平台完美整合
Cacti+Nagios监控平台完美整合 本博文出自51CTO博客吴光科博主,有任何问题请进入博主页面互动讨论!博文地址:http://wgkgood.blog.51cto.com/1192594/1 ...
- java 一款可以与ssm框架完美整合的web报表控件
硕正套件运行于客户端(浏览器),与应用服务器(Application Server)技术无关,所以能完全用于J2EE. ASP.Net.php等技术开发的Web应用产品中. 硕正套件部署于服务器,支持 ...
- Ubuntu 18.04 下配置 HAXM 加速 Android模拟器
Ubuntu 18.04 下配置 HAXM 加速 Android模拟器 最近在vmware环境下搭建ubuntu18.04开发环境,开始发现总是运行android模拟器在console提示加载如下错误 ...
- [转] Cacti+Nagios监控平台完美整合
Cacti+Nagios监控平台完美整合 http://os.51cto.com/art/201411/458006.htm 整合nagios+cacti+微信.飞信实现网络监控报警 http://b ...
- Ubuntu 18.04LTS安装配置Java OpenJDK8
安装OpenJDK8 sudo apt-get install openjdk-8-jdk 配置Java环境变量 sudo vim /etc/profile 在profile末尾添加以下内容: exp ...
- Ubuntu 18.04安装配置Apache Ant
Ubuntu 18.04安装配置Apache Ant 文章目录 Ubuntu 18.04安装配置Apache Ant 下载 执行以下命令 `/etc/profile`中配置环境变量 载入配置 测试 执 ...
- Ubuntu 18.04 安装配置 go 语言
Ubuntu 18.04 安装配置 go 语言 1.下载 下载 jdk 到 Downloands 文件夹下 cd 进入 /usr/local, 创建 go 文件夹, 然后 cd 进这个文件夹 cd / ...
随机推荐
- VM CentOS 问题汇总
1. 锁定文件失败 / 模块启动失败 如下图问题: 原因分析: 虚拟机为了防止有多虚拟机共用一个虚拟磁盘(就是后 缀为.vmdk那个文件)造成数据的丢失等问题,每次启动虚拟机时会给每个虚拟磁盘加一个磁 ...
- finally 的作用是什么?
在java中finally首先必须使用在所有catch的最后位置, 无论是否抛出异常,finally代码块总是会被执行.就算是没有catch语句同时又抛出异常的情况下,finally代码块任然会被执行 ...
- O(∩_∩)O~~
1.在一切ac的路上,所以的难题都是纸老虎. 2.加油吧,少年.
- WIN2008服务器不能复制粘贴怎么办
在任务管理器界面,选择进程,找到rdpclip.exe进程. 找到该进程后,点击结束进程. 然后点击WINDOWS任务管理器左上角的[文件]—[新建任务]. 在编辑框内输入rdpclip. ...
- AutoFac使用方法总结三:生命周期
生命周期 AutoFac中的生命周期概念非常重要,AutoFac也提供了强大的生命周期管理的能力. AutoFac定义了三种生命周期: Per Dependency Single I ...
- Win8操作系统下IIS如何配置asp.net的运行环境(win7同样)
一.把鼠标放在电脑屏幕的左下角然后右击,弹出如下图菜单,选择“程序和功能”(快捷键win+X).(win7点击电脑左下角的“开始”,然后点击“控制面板”打开程序与功能界面): 二.进入程序与功能界面后 ...
- MUI框架 选择器的使用
js.css引用 <script type="text/javascript" src="librarys/mui/js/mui.min.js">& ...
- javascript元素跟随鼠标在指定区域运动
元素跟随鼠标在指定区域运动通常是用在商城图片的放大镜中,下面是完整的Demo: <!DOCTYPE html> <html lang="en"> <h ...
- HTML5实现输入密码(六个格子)
我的思路:用六个li充当六个格子,同时将input框隐藏,点击承载六个格子的容器时,使焦点聚焦在input上,可以输入.通过监听input框输入的长度,控制格子内小黑点是否显示,同时用正则替换非数字. ...
- Python手写模拟单向链表对象,栈对象和树
单向链表: class error(Exception): def __init__(self,msg): super(error,self).__init__() self.msg=msg def ...