display() — displays the template
void display(string template,
string cache_id,
string compile_id);
This displays the contents of a template. To return the contents of a template into
a variable, use fetch()
.
Supply a valid template resource
type and path. As an optional second parameter, you can pass a
$cache_id
, see the
caching section for more information.
As an optional third parameter, you can pass a
$compile_id
.
This is in the event that you want to compile different versions of
the same template, such as having separate templates compiled
for different languages. You can
also set the
$compile_id
variable once instead of passing
this to each call to this function.
Example 14.19. display()
<?php include(SMARTY_DIR.'Smarty.class.php'); $smarty = new Smarty(); $smarty->setCaching(true); // only do db calls if cache doesn't exist if(!$smarty->isCached('index.tpl')) { // dummy up some data $address = '245 N 50th'; $db_data = array( 'City' => 'Lincoln', 'State' => 'Nebraska', 'Zip' => '68502' ); $smarty->assign('Name', 'Fred'); $smarty->assign('Address', $address); $smarty->assign('data', $db_data); } // display the output $smarty->display('index.tpl'); ?>
Example 14.20. Other display() template resource examples
Use the syntax for template resources to
display files outside of the
$template_dir
directory.
<?php // absolute filepath $smarty->display('/usr/local/include/templates/header.tpl'); // absolute filepath (same thing) $smarty->display('file:/usr/local/include/templates/header.tpl'); // windows absolute filepath (MUST use "file:" prefix) $smarty->display('file:C:/www/pub/templates/header.tpl'); // include from template resource named "db" $smarty->display('db:header.tpl'); ?>
See also fetch()
and
templateExists()
.