<?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