zoukankan      html  css  js  c++  java
  • CI 2.2 + smarty 3.1.18 完美整合配置成功

    CI 2.2 + smarty 3.1.18 配置成功


    一、准备文档下载  (CI 框架和smarty)


    二、将Smarty-3.1.18 源码包里面的libs文件夹copy到ci的项目目录application下面的libraries文件夹下,并重命名为Smarty


    三、application下面的libraries文件夹下,创建文件 Ci_smarty.php

     
    <?php
    if(!defined('BASEPATH')) exit('No direct script access allowed');
    require(APPPATH.'libraries/Smarty/Smarty.class.php');
    class Ci_smarty extends Smarty
    {
        protected $ci;
        
        public function __construct()
        {
            parent::__construct();
            
            $this->ci = & get_instance();
            $this->ci->load->config('smarty');//加载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');
        }
    }
     

    四、在config文件下创建smarty.php

     
    <?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');
     
    $config['cache_lifetime']     =     60;         //更新周期
    $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']    =     '}>';
     

    顺便再CI项目目录下的 views 目录下创建目录:template_c,cache  (创建的时候注意权限)

    五、application->config找到autoload.php,修改如下

    $autoload['libraries'] = array('Ci_smarty');

    六、在application->core下,新建MY_Controller.php,

     
    <?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->ci_smarty->assign($key,$val);
        }
     
        public function display($html) {
            $this->ci_smarty->display($html);
        }
    } 
     

    到此已经配置成功
    下面进行测试
    在application->controllers目录下新建welcome.php

     
    <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
    class Welcome extends MY_Controller 
    {
        public function index()
        {
            $test='配置成功';
            $this->assign('test',$test);
            $this->display('index.html');
        }
    }
     

    在application->views目录下新建index.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>
        <{$test}>
    </body>
    </html>
     

    转自:http://codeigniter.org.cn/forums/forum.php?mod=viewthread&tid=18162

  • 相关阅读:
    第二阶段冲刺--第五天
    git托管代码随笔--运用ssh传输,不用每次提交频繁输入github账号密码
    项目冲刺--第十天
    项目冲刺--第九天
    随堂练习--用例图练习
    项目冲刺--第四天
    第五次个人作业: 案例分析--微软必应词典客户端
    Code.R团队展示
    Android 自定义AlertDialog
    Ubuntu打开系统监视器查看进程&资源等信息
  • 原文地址:https://www.cnblogs.com/zhhtao/p/4303350.html
Copyright © 2011-2022 走看看