-
Notifications
You must be signed in to change notification settings - Fork 0
Simple Template Library
Category:Libraries Category:Libraries::Template Engines This is a small template class that I am currently using on a university project.
[h3]SETUP[/h3]
-
Create [b]Template.php[/b] into [b]system/libraries[/b]
-
Open [b]config/autoload.php[/b] and add 'template' and 'parser' to the array: [code]$autoload['libraries'] = array('template'.'parser');[/code]
[h3]SOURCE[/h3]
[h4]Template.php[/h4] [code] <?php if (!defined('BASEPATH')) exit('No direct script access allowed'); /**
-
Template Class
-
Template View Parse Class
-
@package CodeIgniter
-
@subpackage Libraries
-
@category Templates
-
@author Koola
-
@link http:// */ class Template {
var $tpl = array();
/**
- Constructor
- @access public */ function Template() { log_message('debug', "Template Class Initialized"); }
// --------------------------------------------------------------------
/**
-
Load template
-
@access public
-
@param String
-
@param Array
-
@param Array
-
@param bool
-
@return parsed view */ function load($template = '', $view = array(), $vars = array(), $return = FALSE) { $this->CI =& get_instance();
// Load views into var array foreach($view as $key => $file) { $tpl[$key] = $this->CI->load->view($file, NULL, TRUE); } // Merge to var output array $output = array_merge($vars, $tpl); // Parse template return $this->CI->parser->parse($template, $output, $return); } } ?> [/code]
[h4]application/views/about.php[/h4] [code]
You just called your first template!
Page rendered in {elapsed_time} seconds
[h4]application/views/main.php[/h4] [code] <html> <head> <title>{title}</title> <style type="text/css"> body { background-color: #fff; margin: 40px; font-family: Lucida Grande, Verdana, Sans-serif; font-size: 14px; color: #4F5155; } h1 { color: #444; background-color: transparent; border-bottom: 1px solid #D0D0D0; font-size: 16px; font-weight: bold; margin: 24px 0 2px 0; padding: 5px 0 6px 0; } </style> </head> <body>
</body> </html> [/code]
[h4]application/controller/home.php[/h4] [code] <?php
class Home extends Controller {
function Home()
{
parent::Controller();
}
function index()
{
$data['title'] = 'My page title';
$partials = array('content'=>'about');
$this->template->load('main', $partials, $data);
}
} ?> [/code]
[h2]Operation[/h2]