Автор оригинала: Demiurg
fetch от display отличается только тем, что один кладет результат в переменную, а другой выводит результат. Посмотри реализацию display.
Я смотрел код, но факт остается фактом, в случае fetch мне кажется, что фильтры вывода применять не нужно. Я хотел спросить мнения людей, что бы сделать patch и отослать разработчику, просто может быть такое что это нужно только мне. Так же я считаю это не нужным по следущим причинам.
Допустим есть мастер шаблон в котором три поля, жти поля в свою очередь являются шаблонами.
Итак имеем:
PHP:
$Smarty->assign('top',$Smarty->fetch('tpl1.html'));
$Smarty->assign('left',$Smarty->fetch('tpl2.html'));
$Smarty->assign('right',$Smarty->fetch('tpl3.html'));
$Smarty->display('main.html'));
Что мы имеем сналача через фильтры проходять шаблоны
tpl1..3 а потом они же но в составе main.html
то есть получается двойная работа.
Вы можете возразить - ПОЛЬЗУЙ include в smarty, но это не очень удобно, так как часто возникают ситуации такого плана:
PHP:
switch($_GET['t']){
case 'a':
$Smarty->assign('top',$Smarty->fetch('tpl1.a.html'));
break;
case 'b':
$Smarty->assign('top',$Smarty->fetch('tpl1.b.html'));
break;
(...)
}
Если это реализовывать не средствами PHP а средствами шаблонов, то это мартышкин труд, просто посмотре как работает парсинг тегов в смарти. А потом подумайте что будет если обращейний к сайту будет больше X, вообщем это просто трата ресурсов сервера.
PS: Готов выслушать конструктивную критику!