display()
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-1. 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-2. 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().