Diciamo questo...i template base sono fondalmentalmente delle pagine HTML o dei frammenti di pagine HTML in cui al posto di quello che dovrà essere visualizzato ci sono codici come
{data}, {autore}, {numero},...

Il 'trucco' sta nel leggere questi file caricandoli in una stringa quindi sostituire a tali codici quello che effettivamente vuoi venga visualizzato.

Per esempio

codice:
// leggi il contenuto del template
$content = file_get_contents("template.html");

// effettui le sostituzioni
$content = str_replace("{data}", $data, $content);

// stampi la pagina
echo $content;
I template in pratica sono più complessi ma questa soluzione serve a capirne le basi.
Potrebbe anche essere sufficiente comunque.