API15:JView/loadTemplate
From Joomla! Documentation
Description
Load a template file -- first look in the templates folder for an override
[<! removed edit link to red link >]
<! removed transcluded page call, red link never existed >
Syntax
loadTemplate($tpl=null)
| Parameter Name | Default Value | Description |
|---|---|---|
| $tpl | null | $tpl The name of the template source file ... automatically searches the template paths and compiles as needed. |
Returns
string The output of the the template script.
Defined in
libraries/joomla/application/component/view.php
Importing
jimport( 'joomla.application.component.view' );
Source Body
function loadTemplate( $tpl = null)
{
global $mainframe, $option;
// clear prior output
$this->_output = null;
//create the template file name based on the layout
$file = isset($tpl) ? $this->_layout.'_'.$tpl : $this->_layout;
// clean the file name
$file = preg_replace('/[^A-Z0-9_\.-]/i', '', $file);
$tpl = preg_replace('/[^A-Z0-9_\.-]/i', '', $tpl);
// load the template script
jimport('joomla.filesystem.path');
$filetofind = $this->_createFileName('template', array('name' => $file));
$this->_template = JPath::find($this->_path['template'], $filetofind);
if ($this->_template != false)
{
// unset so as not to introduce into template scope
unset($tpl);
unset($file);
// never allow a 'this' property
if (isset($this->this)) {
unset($this->this);
}
// start capturing output into a buffer
ob_start();
// include the requested template filename in the local scope
// (this will execute the view logic).
include $this->_template;
// done with the requested template; get the buffer and
// clear it.
$this->_output = ob_get_contents();
ob_end_clean();
return $this->_output;
}
else {
return JError::raiseError( 500, 'Layout "' . $file . '" not found' );
}
}
[<! removed edit link to red link >] <! removed transcluded page call, red link never existed >
Examples
Code Examples