`

在 CodeIgniter 中使用 smarty

阅读更多

在CI中要集成第三方的工具,就需要写自己的库。官方手册有详细的介绍。

要写自己的库,就需要写两个文件,一个是在application/init下面的init_myclass.php文件(如果没有init目录,自己创建)。另外一个就是在application/libraries目录下创建myclass.php文件。

这里myclass是你的类名。一些规则看手册就好了。

1)在application/libraries下创建mysmarty.php

// load Smarty library

require(’Smarty/Smarty.class.php’);

// The setup.php file is a good place to load
// required application library files, and you
// can do that right here. An example:
// require(’guestbook/guestbook.lib.php’);

class MySmarty extends Smarty {

function MySmarty()
{

// Class Constructor.
// These automatically get set with each new instance.

$this->Smarty();
$basedir=dirname(__FILE__);
$this->template_dir = “$basedir/templates/”;
$this->compile_dir = “$basedir/templates_c/”;
$this->config_dir = “$basedir/configs/”;
$this->cache_dir = “$basedir/cache/”;
//$this->compile_check = true;
//this is handy for development and debugging;never be used in a production environment.
//$smarty->force_compile=true;

$this->debugging = false;
$this->cache_lifetime=30;
$this->caching = 0; // lifetime is per cache
//$this->assign(’app_name’, ‘Guest Book’);
}

}
?>

 


文件路径根据具体情况修改,文件的的路径是相对你的网站的主目录开始的,而不是当前文件的当前目录,比如上面的require(’Smarty/Smarty.class.php’);不是相对application/libraries目录,而是相对$_SERVER['DOCUMENT_ROOT']目录。

2)在application/init目录下创建init_mysmarty.php。
<!--p if (!defined(&rsquo;BASEPATH&rsquo;)) exit(&rsquo;No direct script access allowed&rsquo;);<-->

if ( ! class_exists(’MySmarty’))
{
require_once(APPPATH.’libraries/mysmarty’.EXT);
}

$obj =& get_instance();
$obj->mysmarty = new MySmarty();
$obj->ci_is_loaded[] = ‘mysmarty’;

?>

 


3)使用

在application/controllers目录下创建一个你需要的文件,你可以这样来使用smarty

class Test extends Controller {

function Test()
{
parent::Controller();
$this->load->library(’mysmarty’);
}

function index()
{
$this->mysmarty->assign(”row”,$row);
$this->mysmarty->display(”test.tpl”);
}

}
?>
 

相关推荐:

[如果开发php语言的是英国人] http://justjavac.me/?p=44

分享到:
评论
2 楼 程俊2009 2013-10-17  
$this->load->library("mysmarty");   这句代码出错

Controller 是哪里的类 ,楼主帮忙啊
1 楼 程俊2009 2013-10-17  
弱弱的问下 test.tpl 在哪目录下的

相关推荐

    Codeigniter框架整合Smarty引擎DEMO

    在本DEMO中,我们将探讨如何在CodeIgniter框架中集成Smarty,实现MVC模式下的模板处理。 首先,你需要确保已经安装了CodeIgniter框架。如果没有,可以从官方站点下载最新版本并解压到你的服务器或本地开发环境中。...

    CodeIgniter中使用Smarty3基本配置

    通过以上步骤,SMARTY3就能在CodeIgniter框架中使用了。这样一来,开发者便可以利用SMARTY3的模板管理和缓存功能,提高Web应用的性能和维护效率。在此过程中,了解SMARTY3的基本使用方法和CodeIgniter框架的加载机制...

    CodeIgniter +Smarty集成

    2. **配置CodeIgniter**:在`application/config/autoload.php`文件中,加载Smarty库,这样在每个控制器中都能使用它。同时,还需要在`config.php`中设置Smarty的相关配置,如模板目录、编译目录和缓存目录。 3. **...

    后台管理程序框架源码,使用codeigniter框架和Smarty模板

    后台管理程序由php开发,目前只实现了基本功能:模块管理... 使用codeigniter框架和Smarty模板 页面使用ACE Admin UI模板,为了结合frame做了二次修改 图形报表使用openflashchart,OFC php有不少BUG,我已经做了修复

    基于 Codeigniter 3.0.6 + Smarty 3 + AdminLTE + RBAC 的后台管理系统.zip

    在基于CodeIgniter 3.0.6的后台管理系统中,开发者首先需要配置数据库连接,使用MySQL存储用户、角色和权限信息。这通常涉及到创建相应的数据表,如用户表、角色表和权限表,以及它们之间的关联关系。接下来,使用...

    CodeIgniter整合Smarty的方法详解

    开发者可以在CodeIgniter控制器中使用`assign`方法来传递数据到模板,然后使用`display`方法来渲染模板。由于Smarty支持编译和缓存,所以当频繁访问相同的页面时,可以显著减少服务器的负载,提高页面响应速度。 ...

    CodeIgniter集成smarty的方法详解

    4. 在控制器中使用SMARTY:在需要使用SMARTY的控制器中,通过$this-&gt;load-&gt;library方法加载SMARTY类库,并进行模板赋值和显示。 注意:在进行SMARTY与CodeIgniter集成时,需要注意几个重要的事项,例如:外部资源...

    Codeigniter中集成smarty和adodb的方法

    一旦库文件和初始化文件创建并配置完成,就可以在CodeIgniter的控制器中使用这些库了。在控制器方法中,可以直接通过CodeIgniter的加载器类(通常是`$this-&gt;load`)加载并实例化这些库,然后在控制器方法中调用这些...

    CodeIgniter框架实现的整合Smarty引擎DEMO示例

    以DEMO示例中的Welcome控制器为例,以下代码展示了如何在控制器中使用CI_Smarty类来加载和显示一个模板: ```php class Welcome extends CI_Controller { public function __construct() { parent::__construct()...

    CodeIgniter 中文手册1.6.3版本

    在CodeIgniter 1.6.3版本中,以下几个主要知识点值得深入探讨: 1. MVC架构:MVC(Model-View-Controller)是CodeIgniter的核心设计模式。Model负责数据的处理和业务逻辑,View负责展示数据,而Controller作为中间...

    基于 Codeigniter 3.0.6 + Smarty 3 + AdminLTE 的后台管理系统.zip

    该资源内项目源码是个人的课程设计、毕业设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请...

    smarty-3.1.29

    1. **模板分离**:Smarty允许开发者使用专门的模板文件来处理前端展示,而将业务逻辑和数据处理保留在PHP脚本中。这使得非编程背景的设计师能够更容易地修改页面布局,同时保持代码结构清晰。 2. **变量安全**:...

    CodeIgniter2.1.4中文手册(HTML离线版)

    13. **模板引擎**:虽然CodeIgniter不内置模板引擎,但手册会介绍如何集成第三方模板引擎,如Smarty或Twig。 14. **性能优化**:手册包含了一些性能提升技巧,如缓存管理和减少HTTP请求。 15. **用户指南快速目录...

    codeigniter框架

    5. **模板引擎**:虽然视图文件可以是纯PHP,但CodeIgniter还支持使用模板引擎,如Smarty,以增强视图的灵活性和可读性。 6. **安全**:提供了输入过滤、输出编码等功能,帮助防止SQL注入和跨站脚本攻击。 **使用...

    Smarty-3.1.21

    6. **分配变量**:在PHP代码中,将需要在模板中使用的数据赋值给Smarty对象,如`$smarty-&gt;assign('variable', $value);` 7. **渲染模板**:最后,使用`$smarty-&gt;display('template_file.tpl');`或`$smarty-&gt;fetch('...

    smarty完全中文手册

    6. **模板变量**:Smarty中的变量分为全局变量、局部变量和对象变量,手册会解释如何声明、赋值和使用这些变量。 7. **缓存机制**:Smarty提供了缓存功能,可以提高网站的性能,手册会介绍如何开启、管理和清除缓存...

    CodeIgniter 3.x

    尽管现在已经有更新的版本(如CodeIgniter 4),但3.x版本因其稳定性和广泛的社区支持,依然在很多项目中被广泛使用。 CodeIgniter 3.x 的核心特性包括: 1. **MVC架构**:Model-View-Controller模式是CodeIgniter...

    Smarty-3.1.16.zip

    Smarty是一个流行的PHP模板引擎,它的出现使得PHP程序员可以将HTML代码和PHP代码分离,从而让设计人员和开发人员...在实际项目中,Smarty通常与其他PHP框架(如CodeIgniter、Laravel等)结合使用,进一步提升开发效率。

    codeigniter 代码实例

    学习这个实例可以帮助你了解如何在CodeIgniter中组织项目结构,使用Smarty处理模板,以及如何利用jQuery增强前端交互。同时,你还可以掌握如何配置`.htaccess`以优化URL结构,以及如何使用简单的PHP脚本来部署和管理...

    Smarty-3.1.19

    - Smarty可以轻松集成到各种PHP框架中,如Laravel、CodeIgniter等,提供模板处理能力。 通过以上内容,你可以全面了解Smarty-3.1.19及其核心概念、特性、安装和使用方法。在实际项目中,掌握这些知识能帮助你更...

Global site tag (gtag.js) - Google Analytics