у каждого свой идеал. вместо "навороченных" шаблонов нужно использовать xslt. там это все уже есть и даже больше.
вообще верстку должен делать не дизайнер, а верстальщик, а у него должна быть некоторая подготовка.
мне нравиться делать следующим образом:
есть шаблон. вся его обработка идет в коде. пример:
Код:
<!-- BEGIN list -->
<table>
<!-- BEGIN list_item -->
<tr>
<td>
{item_title}
</td>
</tr>
<!-- END list_item -->
</table>
<!-- END list -->
Вся обработка идет в php.
1. разделение кода.
2. простота.
p.s. мне идеально подошел KTemplate.