首页
Web开发
Windows程序
编程语言
数据库
移动开发
系统相关
微信
其他好文
会员
首页
>
其他好文
> 详细
将smarty模版引擎整合到CI框架中
时间:
2015-01-13 11:58:28
阅读:
146
评论:
0
收藏:
0
[点我收藏+]
标签:
将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_once(APPPATH.
‘libraries/smarty/Smarty.class.php‘);
//定义cismarty类,继承smarty类
class cismarty
extends Smarty{
//定义一个受保护的变量,
protected
$ci;
function __construct(){
parent::__construct();
//引用实例化CI,这里主要是将smarty的配置文件写到ci中,以方便程序管理
$this->ci = & get_instance();
//加载ci的新建的smarty配置文件
$this->ci->load->config(
‘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‘);
}
}
?>
2. 在config下新建smarty.php配置文件
<?php
if ( ! defined(
‘BASEPATH‘))
exit(
‘No direct script access allowed‘);
$config[
‘cache_lifetime‘] = 30*24*3600;
//更新周期
$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‘] =
‘}>‘;
?>
3. 在CI里重载smarty的 assign 和 display方法
在框架根目录下core/目录下新建控制器继承CI基类,MY_Controller
<?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);
}
}
4. 修改Config文件下的autoload.php 自动加载类文件
$autoload[
‘libraries‘] =
array(
‘cismarty‘);
到此配置已完成.
5. 下面测试
a. 新建控制器admin_welcome.php
//if (!define(‘BASEPATH‘)) exit(‘no direct script access allowed‘);
class Admin_welcome
extends MY_Controller{
function __construct(){
parent::__construct();
}
public
function index(){
//$this->load->view(‘welcome_message‘);
$data[
‘title‘] =
‘标题‘;
$data[
‘num‘] =
‘123456789‘;
$this->cismarty->assign(
‘data‘,
$data);
// 亦可
$this->cismarty->display(
‘test.html‘);
// 亦可
//$this->display(‘test.html‘);
}
}
Views 下新建test.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>
<{
$data.title}>
</body>
</html>
将smarty模版引擎整合到CI框架中
标签:
原文地址:http://www.cnblogs.com/doone/p/4220659.html
踩
(
0
)
赞
(
0
)
举报
评论
一句话评论(
0
)
登录后才能评论!
分享档案
更多>
2021年07月29日 (22)
2021年07月28日 (40)
2021年07月27日 (32)
2021年07月26日 (79)
2021年07月23日 (29)
2021年07月22日 (30)
2021年07月21日 (42)
2021年07月20日 (16)
2021年07月19日 (90)
2021年07月16日 (35)
周排行
更多
分布式事务
2021-07-29
OpenStack云平台命令行登录账户
2021-07-29
getLastRowNum()与getLastCellNum()/getPhysicalNumberOfRows()与getPhysicalNumberOfCells()
2021-07-29
【K8s概念】CSI 卷克隆
2021-07-29
vue3.0使用ant-design-vue进行按需加载原来这么简单
2021-07-29
stack栈
2021-07-29
抽奖动画 - 大转盘抽奖
2021-07-29
PPT写作技巧
2021-07-29
003-核心技术-IO模型-NIO-基于NIO群聊示例
2021-07-29
Bootstrap组件2
2021-07-29
友情链接
兰亭集智
国之画
百度统计
站长统计
阿里云
chrome插件
新版天听网
关于我们
-
联系我们
-
留言反馈
© 2014
mamicode.com
版权所有 联系我们:gaon5@hotmail.com
迷上了代码!