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和下载smarty的模板个人喜欢用(Smarty-3.1.8)这个版本。

2. 第二部把下载到的smarty版本解压然后把里面的libs文件改名为smarty然后把这个文件拷到ci\application\libraries目录下面

3. 在ci\application\libraries这个目录下面建立一个文件,文件名可以自定义,例如见一个tp.php的文档。

4. 用编译器打开tp.php然后写入以下代码:

<?php

if ( ! defined('BASEPATH')) exit('No direct script access allowed');

require_once('smarty/smarty.class.php');

class Tp extends Smarty{

function tp(){

parent::Smarty();

$this->template_dir = APPPATH.'views';

$this->compile_dir = APPPATH.'templates_c/';

$this->left_delimiter = '<{';

$this->right_delimiter = '}>';

}

}

5. 在建立一个ci\application\templates_c文件夹

6. 打开ci\application\config\autoload.php文件把$autoload['libraries'] = array();改成$autoload['libraries'] = array('database','tp');

OK我们的配置到这里就已经成功了,接下来我们开始测试

测试的第一步先建立一个控制器:

1. 在\application\controllers下建立一个文件名为ceshi.php的文件,文件内容

<?php

if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Home extends CI_Controller {

function __construct()

{

parent::__construct();

$this->load->helper('url');

$this->tp->assign('base_url', base_url());//定义css以及js

的路径

}

function index()

{

$this->tp->assign("title","恭喜你smarty安装成功!");

$this->tp->assign("body","欢迎使用smarty模板引擎");

$arr = array(1=>'zhang',2=>'xing',3=>'wang');

$this->tp->assign("myarray",$arr);

$this->tp->display('ceshi.html');

}

}

5.建立模板文件在ci\application\views目录下建立文件名为ceshi.html的文件,文件内容为

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<script src='<!--{$base_url}-->js/jquery.min.js' type='text/javascript' ></script>

<link href="<!--{$base_url}-->css/login.css" rel="stylesheet" type="text/css" />

<title>smarty安装测试</title>

</head>

<body>

<h1><{$title}></h1>

<p><{$body}></p>

<ul>

<{foreach from=$myarray item=v}>

<li><{$v}></li>

<{/foreach}>

</ul>

</body>

</html>

最后输入地址http://localhost/ci/application/index.php/ceshi (主意ci代表的是你自己放置ci框架中文件的根目录)运行以后你将会看到你配置smarty成功的页面,到这里ci和smarty的整合以及测试就完工了

ci框架与smarty的整合的更多相关文章

  1. 在CI框架中的配置整合amfphp

    之前做的项目用到CI框架和amfphp的整合,主要用于php与flex的交互,在此做一下记录: 一. 安装CI框架: 1.  搭建PHP运行环境,本人在WIN7下用WAMP作测试,安装目录:d:/wa ...

  2. **【ci框架】PHP的CI框架集成Smarty的最佳方式

    因为CI自带的模板功能不是很方便,所以大家普遍采用集成Smarty的方式来弥补CI这方面的不足. 本人在网上看了不少CI集成Smarty的教程,包括咱们CI论坛里面的一个精华帖子 http://cod ...

  3. CI框架集成Smarty

    1.下载smarty源码包,解压放置于项目目录 libriaries中 2.在libraries中建立Cismarty.php ,填写如下代码 <?php if(!defined('BASEPA ...

  4. CI 2.2 + smarty 3.1.18 完美整合配置成功

    CI 2.2 + smarty 3.1.18 配置成功 一.准备文档下载  (CI 框架和smarty) 二.将Smarty-3.1.18 源码包里面的libs文件夹copy到ci的项目目录appli ...

  5. CI框架源码阅读笔记1 - 环境准备、基本术语和框架流程

    最开始使用CI框架的时候,就打算写一个CI源码阅读的笔记系列,可惜虎头蛇尾,一直没有行动.最近项目少,总算是有了一些时间去写一些东西.于是准备将之前的一些笔记和经验记录下来,一方面权作备忘,另一方面时 ...

  6. Ci框架整合smarty模板引擎

    Ci框架整合smarty模板引擎 备注:下载smarty时,最好选择2.6版本,其他测试有坑,ci可以是2.2或其他 大体思路:将smarty封装成ci框架的一个类,然后重新配置一下smarty,这样 ...

  7. CI框架整合UEditor编辑器上传功能

    最近项目中要使用到富文本编辑器,选用了功能强大的UEditor,接下来就来讲讲UEditor编辑器的上传功能整合. 本文UEditor版本:ueditor1_4_3_utf8_php版本 第一步:部署 ...

  8. CI框架整合微信公共平台接口

    #CI框架控制器 <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); /*** CI框架整合微信 ...

  9. CI框架整合yar

    第一步:在CI框架中libraries目录下建立yar.php 文件 内容: <?php /** * yar 接口 */ class Yar { /** * 构造函数 * * @return v ...

随机推荐

  1. C# 控制台应用程序从外部传参运行和调试

    参考:/*十有三博客*/ 新建一个用于演示的控制台应用程序项目,然后在Program.cs的入口Main方法里编写如下代码 foreach (var arg in args) { Console.Wr ...

  2. Windows系统批处理命令实现计划关机

    操作步骤: 1.新建一个文本文件,粘贴下面代码,保存为shutdown.bat @echo off echo 请输入延迟关机分钟数 echo 小于1分钟将视为立即关机,负数为取消关机 set /p t ...

  3. 对上一篇Logstash的补充

    主要补充内容: 1.同步多表 2.配置的参数个别说明 3.elasticsearch的"_id"如果有相同的,那么会覆盖掉,相同"_id"的数据只会剩下最后一条 ...

  4. Android studio 中出现fail to load platform rendering library

    解决方法: 1)将布局的API接口改为低版本的(如蓝色箭头所示) 2)改为真机测试

  5. UVA - 10817 Headmaster's Headache (状压dp+记忆化搜索)

    题意:有M个已聘教师,N个候选老师,S个科目,已知每个老师的雇佣费和可教科目,已聘老师必须雇佣,要求每个科目至少两个老师教的情况下,最少的雇佣费用. 分析: 1.为让雇佣费尽可能少,雇佣的老师应教他所 ...

  6. node - 获取 token

     String(req.headers.authorization || '').split(' ').pop() 

  7. tools.eclipse.内存配置

    环境:jdk1.7+eclipse luna 选择:Run ->Run Configurations, 在弹出框右侧中选择Arguments, 在VM arguments最后加入 -Xms256 ...

  8. android导入项目build错误

    android studio apply script build.gradle 卡死 buildscript { repositories { maven{ url 'http://maven.al ...

  9. PostAsync与GetAsync

    using Newtonsoft.Json; using Newtonsoft.Json.Linq; using System; using System.Collections.Generic; u ...

  10. 前端第二篇---前端基础之CSS

    前端第二篇---前端基础之CSS 目录 一.css介绍 二.css语法 三.css的几种引入方式 四.css选择器 五.css属性相关 六.盒子模型 拓展 一.css介绍 CSS(Cascading  ...