jeje, ok, yo pense que php trabajaba directamente, estoy usando una clase de cristalab que maneja las plantillas, pero no doy aun:
 
la clase esta aqui:   
Código PHP:
Ver original- class Template{ 
-     private $tpl_file, $htmlTemplate; 
-     private $htmlText; 
-     private $fileReaded; 
-     public $PATH = 'templates/'; 
-     private $EXT = '.tpl'; 
-      
-     public function __construct() 
-     { 
-          
-     } 
-      
-     public function setTemplate($templateFile) 
-     { 
-         $this->htmlText = "";    
-         $this->tpl_file =  $this->PATH . $templateFile . $this->EXT ; 
-         $this->fileReaded = $this->fileData = @fopen($this->tpl_file, 'r'); 
-         if (!$this->fileReaded) 
-         { 
-                 return false; 
-         } 
-         else 
-         { 
-             $this->htmlTemplate = fread($this->fileData, filesize($this->tpl_file)); 
-             $this->htmlTemplate = str_replace ("'", "\'", $this->htmlTemplate); 
-         } 
-         return true; 
-     } 
-     public function setVars($vars) 
-     { 
-         if ($this->fileReaded) 
-         { 
-             $this->vars = $vars; 
-             $this->htmlText = preg_replace('#\{([a-z0-9\-_]*?)\}#is', "' . $\\1 . '", $this->htmlTemplate); 
-             while (list($key, $val) = each($this->vars)) 
-             { 
-                     $$key = $val; 
-             } 
-             eval("\$this->htmlText = '$this->htmlText';"); 
-             while (list($key, $val) = each($this->vars)) 
-             { 
-             } 
-             $this->htmlText = str_replace ("\'", "'", $this->htmlText); 
-             return true; 
-         } 
-         else 
-         { 
-             //Error, you must set a template file 
-             return false; 
-         } 
-          
-     } 
-     function show() 
-     { 
-         if ($this->fileReaded) 
-         { 
-             return ($this->htmlText!="")?$this->htmlText:$this->htmlTemplate; 
-         }else{ 
-             //Error, you must set a template file 
-             return "[ERROR]"; 
-         } 
-     } 
- } 
y asi lo uso:   
Código PHP:
Ver original- $contenido = new Template(); 
- $contenido->PATH = "templates/"; 
- $contenido->setTemplate("header"); 
- $contenido->setVars(array("script_scrollable" => $str)); 
- echo $contenido->show(); 
hice algo parecido al ejemplo que me diste, pero sale ERROR   
Código PHP:
Ver original- $contenido->setTemplate("index"); 
- $installeres = new Template(); 
- $installeres->setTemplate("inscripcion_talleres.tpl"); 
- $contenido->setVars(array("content_bienvenido" => $bienvenido, "inscripcion_talleres" => $installeres->show())); 
- echo $contenido->show();