I totally agree.
I needed a way to seperate the presentation data and logic from the business logic... since someone else will be editing the html after I am done with the code.
I thought of simply printing the HTML myself and allowing them to change it via CSS. However, this proved to be cumbersome. It allowed them to only change the look of components, and not change the components themselves... plus the CSS files were getting to be too big.
So I read an article on slashdot.org yesterday about seperating business logic and presentation. One of the comments linked to this article as well as the Smarty site. I was a bit skeptical.. thinking I would probably just write my own template engine. However, I gave Smarty a shot after reading this article, as it seemed very easy to use and very easy to learn (face it, for an experienced programmer, the "language" takes 2 seconds to learn). I LOVE it so far. It has made me feel so much better about writing my code and not worrying about the presentation. It will be easier for the guy who I'm writing this for to manage.. he does know some programming, so it's not like the templates will baffle him.
I appreciate this article and wholy recommend Smarty to anyone to wants a good templating engine with some power. Given that speed isnt critical that is.