`

ci中使用smarty

    博客分类:
  • PHP
阅读更多

1、到相应站点下载Smarty的源码包;
2、将源码包里面的libs文件夹copy到CI的项目目录下面的libraries文件夹下,并重命名为Smarty;
3、在项目目录的libraries文件夹内新建文件Cismarty.php,里面的内容如下:

1 <?php
2 if(!defined('BASEPATH')) EXIT('No direct script asscess allowed');
3  
4 require_once( APPPATH . 'libraries/Smarty/Smarty.class.php' );
5  
6 class Cismarty extends Smarty {
7  
8     protected $ci;
9  
10     public function  __construct(){
11  
12         $this->ci = & get_instance();
13  
14         $this->ci->load->config('smarty');//加载smarty的配置文件
15  
16         //获取相关的配置项
17         $this->template_dir   = $this->ci->config->item('template_dir');
18         $this->complie_dir    = $this->ci->config->item('compile_dir');
19         $this->cache_dir      = $this->ci->config->item('cache_dir');
20         $this->config_dir     = $this->ci->config->item('config_dir');
21         $this->template_ext   = $this->ci->config->item('template_ext');
22         $this->caching        = $this->ci->config->item('caching');
23         $this->cache_lifetime = $this->ci->config->item('lefttime');
24     }
25  
26 }

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

1 <?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');
2 $config['theme']        = 'default';
3 $config['template_dir'] = APPPATH . 'views';
4 $config['compile_dir']  = FCPATH . 'templates_c';
5 $config['cache_dir']    = FCPATH . 'cache';
6 $config['config_dir']   = FCPATH . 'configs';
7 $config['template_ext'] = '.html';
8 $config['caching']      = false;
9 $config['lefttime']     = 60;

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

6、在项目目录下面的config目录中找到autoload.php文件
修改这项

1 $autoload['libraries'] = array('Cismarty');//目的是:让系统运行时,自动加载,不用认为的在控制器中手动加载

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

1 <?php if (!defined('BASEPATH')) exit('No direct access allowed.');
2  
3 class Controller extends CI_Controller {
4  
5     public function __construct() {
6  
7         parent::__construct();
8  
9     }
10  
11     public function assign($key,$val) {
12         $this->cismarty->assign($key,$val);
13     }
14  
15     public function display($html) {
16         $this->cismarty->display($html);
17     }
18 }

//================================================================
配置完毕
//================================================================
使用方法:
在控制器中如:

1 <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
2  
3 class Welcome extends Controller {
4  
5     public function __construct(){
6         parent::__construct();
7     }
8  
9     public function index()
10     {
11         $data['title'] = '测试';
12         $data['test'] = '123456789';
13         $this->assign('test',$data);
14         $this->assign('tmp','hello');
15         $this->display('test.html');
16     }
17 }

然后再视图中:试图文件夹位于项目目录的views之下:
新建文件test.html

1 <!DOCTYPE html>
2 <html>
3 <head>
4     <meta charset="utf-8">
5     <title>{$test['title']}</title>
6  
7 <style type="text/css">
8 </style>
9 </head>
10 <body>
11  
12 {$test['test']|md5}
13 <br>
14 {$tmp}
15 123
16  
17 </body>
18 </html>

分享到:
评论

相关推荐

    CI框架整合smarty步骤详解

    主要介绍了CI框架整合smarty步骤,结合实例形式详细分析了CI框架中Smarty的配置技巧与调用方法,需要的朋友可以参考下

    CI框架集成Smarty的方法分析

    主要介绍了CI框架集成Smarty的方法,对比分析并改进了网上已有的方法,详细介绍了CI框架继承Smarty模板的具体步骤与相关技巧,需要的朋友可以参考下

    整合Smarty的最新ci框架源码,完美配置

    整合Smarty的最新ci框架源码,完美配置,开发方便,你值得拥有

    yii,CI,yaf框架+smarty模板使用方法

    主要介绍了yii,CI,yaf框架+smarty模板使用方法,结合实例形式介绍了yii,CI及yaf框架整合smaryt模板的使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下

    CI 3.1.1配置Jade模板引擎

    为什么要配置Jade模板引擎,而不是Smarty之类 ... 配置Jade主要用到composer,需要用之前开启一个composer ...$config['composer_autoload']=true;...CI3.1.1 默认加载路径 application/vendor/autoload.php

    ci-cd-testing:一个使用GitHub Actions更好地理解CI的仓库

    ci-cd测试一个仓库,用于更好地理解使用GitHub Actions的ci / cd实现

    CI框架整合widget(页面格局)的方法

    本文实例讲述了CI框架整合...这里仅介绍下widget如何结合入CI框架中: 1、在类文件MY_Controller.php中添加调用方法: /* * 如果$name存在则调用widget类及widget方法 *@param string $name */ protected function wid

    兄弟连PHP视频资源链接汇总

    最佳下载方法:将DOC文件另存为HTM文件,浏览器中打开HTM文件,使用迅雷下载全部链接。 01-2011年LAMP兄弟连新版原创视频教程.doc 02-JavaScript.doc ...14-兄弟连php视频教程CI框架.doc 15-JAVA SE 视频.doc

    codefresh-pr:使用Kubernetes,Helm和Codefresh自动执行GitHub Pull Request发布CI管道的秘诀

    使用Kubernetes,Helm和Codefresh自动执行GitHub Pull Request发布CI管道的秘诀。 容器注册表,K8S集群和Helm 尽管Codefresh可以连接到其他K8S云提供商和容器注册表,但为简单起见,本教程假定GKE K8S群集和GCR...

    PHP5框架lessPHP.zip

    简介 ... 主要功能特点 基于MVC模型构建 多层controller 和 model 高扩展性,核心类库允许通过继承的方式尽心扩展 ...IMVC 的规划以及实现 在M 与 C之间增加I(Interface)层 LIB库的整理 标签:lessPHP Web框架

    91736cms内容管理系统 v1.9.7.rar

    主要使用php mysql smarty技术基础进行开发,91736CMS采用OOP(面向对象)方式进行基础运行框架搭建。模块化开发方式做为功能开发形式。框架易于功能扩展,代码维护,二次开发能力优秀。   91736CMS重点功能 ...

    旭东多语言企业网站管理系统XDcms v3.0.1.rar

    主要使用php mysql smarty技术基础进行开发,XDcms采用OOP(面向对象)方式进行基础运行框架搭建。模块化开发方式做为功能开发形式。框架易于功能扩展,代码维护,二次开发能力优秀。 XDcms重点功能 A、内容管理模型...

    领林企业网站管理系统(superlin cms) v1.2 build 20110915.rar

    创建gbk_chinese_ci数据库 将数据库文件 /install/data/install.sql 以UTF8格式导入数据表 设置数据库全局变量 打开文件 /application/database.php ,根据实际内容进行修改;各变量定义如下: $GLOBALS ['...

    蓝色五金配件公司网站源码(XDcms内核) v1.0.rar

    本系统使用的是XDcms内核,在原来基础上做来相应修改 ...H、结合Smarty开发的万能loop标签、get_block碎片标签,数据调用更简单、更方便 I、产品多图多方位展示 J、URL规则自定义,更有利于做搜索引擎优化

    X-CART GOLD v3.4.9

    6. Compiled templates (for cache and Smarty internal use): ./templates_c 7. Dump of MySQL database is in ./sql/*.sql file. 8. Website images are located in ./*images directory. 9. Shipping modules ...

    XDcms多语言企业网站管理系统 3.0.1.rar

    主要使用php mysql smarty技术基础进行开发,XDcms采用OOP(面向对象)方式进行基础运行框架搭建。模块化开发方式做为功能开发形式。框架易于功能扩展,代码维护,二次开发能力优秀。 XDcms多语言企业网站管理...

    91736cms企业网站内容管理系统 v1.9.6 GBK.rar

    主要使用php mysql smarty技术基础进行开发,91736CMS采用OOP(面向对象)方式进行基础运行框架搭建。模块化开发方式做为功能开发形式。框架易于功能扩展,代码维护,二次开发能力优秀。 91736CMS重点功能 A、...

    c++编程器

    Ladder Logic, LPC, MUMPS, NATURAL, Oberon, OCaml, Occam, OpenCL, OpenEdge ABL, Oz, PL/I, PowerShell, Q, REXX, S, Smarty, SPARK, thinBasic, VBScript, Verilog, VHDL, WebDNA, X10, xBase, XSLT

    PHP实现使用DOM将XML数据存入数组的方法示例

    本文实例讲述了PHP实现使用DOM将XML数据存入数组的方法。分享给大家供大家参考,具体如下: &lt;?...$doc = new DOMDocument('1.0','utf-8'); $doc-&gt;load("config.xml"); $roots=$doc-&gt;... $config_item=$c

    旭东多语言企业网站管理系统XDcms v3.0.1 UTF-8.rar

    主要使用php mysql smarty技术基础进行开发,XDcms采用OOP(面向对象)方式进行基础运行框架搭建。模块化开发方式做为功能开发形式。框架易于功能扩展,代码维护,二次开发能力优秀。   XDcms多语言企业网站管理...

Global site tag (gtag.js) - Google Analytics