Name

createTemplate() — returns a template object

Description

Smarty_Internal_Template createTemplate(string template,
                                        object parent);

Smarty_Internal_Template createTemplate(string template,
                                        array data);

Smarty_Internal_Template createTemplate(string template,
                                        string cache_id,
                                        string compile_id,
                                        object parent);

Smarty_Internal_Template createTemplate(string template,
                                        string cache_id,
                                        string compile_id,
                                        array data);

This creates a template object which later can be rendered by the display or fetch method. It uses the following parameters:

  • template must be a valid template resource type and path.

  • cache_id is an optional parameter. You can also set the $cache_id variable once instead of passing this to each call to this function. It is used in the event that you want to cache different content of the same template, such as pages for displaying different products. See also the caching section for more information.

  • compile_id is an optional parameter. You can also set the $compile_id variable once instead of passing this to each call to this function. It is used in the event that you want to compile different versions of the same template, such as having separate templates compiled for different languages.

  • parent is an optional parameter. It is an uplink to the main Smarty object, a user-created data object or to another user-created template object. These objects can be chained. The template can access only variables assigned to any of the objects in the parent chain.

  • data is an optional parameter. It is an associative array containing the name/value pairs of variables which get assigned to the object.

Example 14.18. createTemplate()


<?php
include('Smarty.class.php');
$smarty = new Smarty;

// create template object with its private variable scope
$tpl = $smarty->createTemplate('index.tpl');

// assign variable to template scope
$tpl->assign('foo','bar');

// display the template
$tpl->display();
?>

    


See also display(), and templateExists().