Template TROPPO complessi hanno il semplice effetto di SPOSTARE il codice dal php al template (quando nel template ci sono if, cicli e assegnazioni come si può dire di aver separato il codice dall'output?)
Ti suggerisco quindi anche io di non utilizzare i template o di utilizzarne uno "minimale" (come quello suggerito), e di mantenere il codice "elaborativo" nel php. Spostare il codice nel template ha l'unico effetto di rallentare le prestazioni perchè l'interprete analizza il php che deve analizzare il template

PHP è già di suo un template engine, va solo usato col giusto criterio