Name
display() — displays the template
Description
void display(string template,
string cache_id,
string compile_id);
This displays the template unlike
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. Another use for
$compile_id
is when you use more than one
$template_dir
but only one
$compile_dir
.
Set a separate $compile_id
for each
$template_dir
,
otherwise templates of the same name will overwrite each other. You can
also set the
$compile_id
variable once instead of passing
this to each call to this function.
Example 13.12. display()
<?php include(SMARTY_DIR.'Smarty.class.php'); $smarty = new Smarty(); $smarty->caching = true; // only do db calls if cache doesn't exist if(!$smarty->is_cached('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 13.13. 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
template_exists()
.