Search code examples
phpcodeignitersmarty

using smarty with codeigniter


I wants to use codeigniter and smarty together.i.e. I wants to use html files instead of .tpl.php files of codeigniter as of smarty. Is this possible or how can I do this.I have searched a lot and find some examples but none of some works as required by me.


Solution

  • You should create a library Smarty_tpl.php:

    <?php if (!defined('BASEPATH')) exit('No direct script access allowed');
    //smarty class
    require BASEPATH . "../../smarty/libs/Smarty.class.php";
    
    class Smarty_tpl extends Smarty {
    
    function __construct(){
        parent::__construct();
    
        $smarty_dir = BASEPATH . "../../smarty/libs/";
    
        $this->setTemplateDir(APPPATH."views/templates");
        $this->setCompileDir(APPPATH."views/templates_c");
        $this->setCacheDir(APPPATH."views/cache");
        $this->setConfigDir(APPPATH."views/config");
        $this->setPluginsDir(array("$smarty_dir/plugins","$smarty_dir/sysplugins/"));
        $this->compile_check=   true;
        $this->force_compile=   true;
        $this->caching=         true;
        $this->cache_lifetime=  86400;
    }
    }
    

    And its using:

    $this->load->library("Smarty_tpl");
    $this->smarty_tpl->display("...");