Wenn man schon mit Templates arbeitet, würde ich gleich Smarty als Template-Enginge vorschlagen (
http://smarty.php.net).
Biete einige interessante Funktionen fürs durchlaufen von Arrays mit Schleifen (auch verschachelt), Abfragen der Variablenwerte, etc.
Du kannst auch zb. ein Header und ein Footer Template basteln und dieses jeweils in den Templates einfügen.
Gibts auch ein sehr ausführliches deutsches Manual und ein brauchbares Forum dafür.
Du schreibst in der Template dann nur mehr reinen HTML Code und fügst mit {$Varname} die Variablen ein. In PHP kommt der ganze "Programmier"code rein und du übergibst die Variablen dann mit $smarty->assign("Varname",$Varname)
Für mehr Informationen stehe ich gerne zur Verfügung.
mfg Thomas