string
fetch ( string template [, string cache_id [, string compile_id]])
Функция возвращает вывод шаблона вместо его отображения на экран.
Укажите верный тип ресурса шаблонов
и путь. В качестве необязательного второго параметра можно передать
cache id. Смотрите раздел
Кэширование
для получения дополнительной информации.
В качестве необязательного третьего аргумента вы можете передать
$compile_id.
Это полезно в случае, если вы хотите
скомпилировать несколько различных версий одного шаблона, например
несколько версий одного шаблона на разных языках.
Другое применение
$compile_id можно найти,
если вы используете несколько
$template_dir,
но только одну
$compile_dir.
Устанавливайте свой compile_id для каждой
$template_dir,
иначе шаблоны с одинаковыми именами будут сохраняться поверх друг друга.
Также вы можете один раз указать
$compile_id,
вместо того, чтобы каждый раз передавать его при вызове этой функции.
Пример 13-1. fetch
<?php include("Smarty.class.php"); $smarty = new Smarty;
$smarty->caching = true;
// обращаемся к БД только если отсутствует кэш if(!$smarty->is_cached("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($db_data);
}
// перехватываем вывод $output = $smarty->fetch("index.tpl");
// здесь выполняем какие-либо действия с $output
echo $output; ?>
|
|
См. также
display() и
template_exists.