jamie - 3:30 pm on Nov 14, 2011 (gmt 0)
another vote for smarty.
it's almost impossible not to have some sort of programming logic in templates, and the fine thing about smarty is that in design view (dreamweaver), our designers can see the if/else smarty structures, as opposed to just a php placeholder - giving them more understanding of how the page is generated. (i also find it easier to scan through html templates with smatterings of smarty rather than php - but that's just a personal opinion)
i know it means learning another syntax, but for a professional webmaster these days who knows at least 4/5 (html/js/css/php/sql, etc), it's not that big a deal. and with a bookmarklet, the online manual is easy to search to look up syntax.