Created
December 1, 2009 16:01
-
-
Save aguimaraes/246391 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php defined('SYSPATH') OR die('No direct access allowed.'); | |
/** | |
* Allows a template to be automatically loaded and displayed. Display can be | |
* dynamically turned off in the controller methods, and the template file | |
* can be overloaded. | |
* | |
* To use it, declare your controller to extend this class: | |
* `class Your_Controller extends Template_Controller` | |
* | |
* $Id: template.php 3769 2008-12-15 00:48:56Z zombor $ | |
* | |
* @package Core | |
* @author Kohana Team | |
* @copyright (c) 2007-2008 Kohana Team | |
* @license http://kohanaphp.com/license.html | |
*/ | |
abstract class Template_Controller extends Controller { | |
// Template view name | |
public $template = 'template'; | |
// Default to do auto-rendering | |
public $auto_render = TRUE; | |
/** | |
* Template loading and setup routine. | |
*/ | |
public function __construct() | |
{ | |
parent::__construct(); | |
// Load the template | |
$this->template = new View($this->template); | |
if ($this->auto_render == TRUE) | |
{ | |
// Render the template immediately after the controller method | |
Event::add('system.post_controller', array($this, '_render')); | |
} | |
} | |
/** | |
* Render the loaded template. | |
*/ | |
public function _render() | |
{ | |
if ($this->auto_render == TRUE) | |
{ | |
// Render the template when the class is destroyed | |
$this->template->render(TRUE); | |
} | |
} | |
} // End Template_Controller |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment