Главное меню
все форумы все темы форума добавить тему
Строка в качестве шаблона
В третьей версии Smarty появилась приятная возможность - использовать в качестве шаблона строку. Приятность этого новшества в том, что не надо создавать шаблоны-пустышки предназначенные для вывода простых вещей вроде xml или json. При этом, сохраняется возможность использовать все возможности кэширования смарти. Выглядит это примерно так:
 
PHP

<?
$template_string = 'display {$foo} here';
$smarty->display('string:'.$template_string);
 

 
Учитывая что у шаблона при этом нет нет ни пути ни имени файла, то надо позаботиться об адекватном cache_id, который бы исключил возможность пересечения кэша.
 
В общем, у меня итоговый код выглядят так:
PHP

<?
LabCMS::instance()->setModuleTemplate('string:{$xml}');
$xml=getXml();
Tpl::instance()->assign('xml', $xml);