Originariamente inviato da gangiaemi
Ciao ragazzi,
mi rispondo da solo
.........
3 filese: header.tpl , content.tpl, footer.tpl.

il metodo si chiama : showContent($content);
codice:
	
public function showContent($content){  		
$this->getHeader(); 		
$template_name =_WS_THEME_DIR_.'content.tpl'; 		
$content = $this->fetch("db_smarty:{.$template_name.}");
$this->assign('CONTENT', $content); 		
$this->display('content.tpl');
$this->getFooter();  
}
I metodi getHeader() e getFooter() eseguono delle operazioni come il settaggio dinamico dei metatitle , metakeywords e meta descriptions , e la semplice visualizzazione del footer.tpl.
Scusa, ma, a parte i metodi che valorizzano variabili in maniera automatica che c'entrano poco con il problema originale, secondo me non hai risolto granchè:
- il metodo fetch restituisce il risultato del template, come da pagina del manuale di smarty, assegnare tale risultato ad una variabile e quindi fare il display del templete stesso è uno spreco di memoria;
- assegnando un valore ad una variabile con il metodo assign, rende la variabile disponibile nel template di cui viene fatto il display e per tutti i file che vengono inclusi "smarty way" (cioè usando {include file="pippo.tpl"}, nel tuo caso te lo fa il fetch.
- sono un po' arrugginito con smarty, ma se non ricordo male fetch non controlla in automatico se esiste la cache del file.

come detto è da tempo che non uso smarty, ma mi permetto di consigliarti o di leggere meglio il manuale o di passare ad un framework MVC, perché ho sempre trovato inutile la creazione di un linguaggio simil-php per tenere separati php e html, quando il problema di fondo è, semmai, separare logica da rappresentazione.