ci smarty 整合
来源:互联网 发布:淘宝爽肤水有什么用 编辑:程序博客网 时间:2024/05/14 03:37
目前正在做一个小项目,选择Ci框架也是第一次使用,发现CI没有内置的模版引擎,传统的php、html混写有点不习惯咯被惯坏了,决定将smarty模版引擎整合到CI框架中。步骤如下:下载:ci,smarty配署ci 在这里就不多说了……1.将下载好的smarty包的lib文件上传到ci中的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>
0 0
- CI 里面整合Smarty
- ci smarty 整合
- ci smarty 整合
- CI轻松整合smarty
- ci整合Smarty-3.1.18
- CI框架整合smarty模板
- CI框架与Smarty模板整合
- 【ci框架】ci框架与smarty的整合
- CI框架与Smarty模板引擎实战整合
- CI配置SMARTY
- CI配置SMARTY
- CI继承smarty方法
- CI和Smarty整合并且前后台加载不同配置文件使前台应用Smarty缓存后台不应用
- CI框架整合Smarty模板时包含css,js文件的解决方法
- ci+smarty结合配置方法
- ci+smarty结合配置方法
- CI整合YAR
- Zendframework 1.6整合Smarty
- 浅谈JAVA字节流(读写文件)
- 编写jsp页面
- dmesg
- 生产者-消费者问题实现 (linux下C语言)
- C++基本功和 Design Pattern系列 ctor & dtor (转)
- ci smarty 整合
- poj2636- -
- HBA卡
- devtmpfs文件系统创建设备节点
- (转自豆瓣)外语学习的真实方法及误区(转)
- bool-2 添加日志功能
- Object.create 与 new function 区别
- 无限发布ios
- C++练习之template操作