Name

display() — 显示

说明

void display(string template,
             string cache_id,
             string compile_id);

显示模板。如果希望返回而并非显示当前模板的内容,请使用fetch()。 该函数需要指定一个合法的模板资源的类型和路径。 第二个可选的参数$cache_id设置缓存,详情参见 缓存

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);

// 仅在缓存不存在的时候调用
if(!$smarty->isCached('index.tpl')) {

  // 数据
  $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);

}

// 显示
$smarty->display('index.tpl');
?>

   

Example 14.20. 其他 display() 的示例

模板资源的方式来显示不在 $template_dir目录下的模板。


<?php
// 绝对路径
$smarty->display('/usr/local/include/templates/header.tpl');

// 绝对路径(使用file://)
$smarty->display('file:/usr/local/include/templates/header.tpl');

// windows环境的绝对路径(务必是file:开头)
$smarty->display('file:C:/www/pub/templates/header.tpl');

// 来自模板资源库db
$smarty->display('db:header.tpl');
?>

   

参见 fetch()templateExists().