What is Smarty?
Why use it?
Use Cases and Work Flow
Syntax Comparison
Template Inheritance
Best Practices
Crash Course
You may use the Smarty logo according to the trademark notice.
For sponsorship, advertising, news or other inquiries, contact us at:
fetch
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
,
вместо того, чтобы каждый раз передавать его при вызове этой функции.
Example 13.14. 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.