In all honesty I can not believe how thick headed so many people can be! Anyone who thinks that there should be NO PRESENTATION logic in a template file must have a website that is either impossible to update or looks like something designed back in the early 80's!
With all of the formatting options now available in HTML code, it is almost just as impossible for a programmer to develop HTML code in the "business logic" portion within PHP. A simple example that can extend the row color altering in a table would be one in which a website moves to using different fonts through either font tags or stylesheets. Are you telling me that when the design team decides to add CSS to the fonts in SOME of its tables, it is the programmer's job to go back to EVERY piece of code that involves the outputting a table string and adding that code in ONLY where the design team wants it!?! (before anyone says anything, I understand that you could abstract this somewhat. But like I said...if only a couple of tables are meant to be formatted a certain way, and those tables were all generated using the same abstracted makeTable() code, the development team would need make additional functions with similar code where the ONLY difference is some CSS tags).
Ultimately, I can't see why designers should not learn minor programming constructs any more than programmers should learn HTML. It is a team effort, but the simple truth is that a designer who learns some Smarty code could make a MUCH nicer web page than a programmer who learns HTML code. Why can't people understand that. Wow!