Cita:  
					Iniciado por GatorV  
  Ah ya entendí, pues sí es buena práctica y no veo porque no lo puedas hacer, en lugar de hacer el include directo podrías cambiar tu método por algo así:
   
Código PHP:
Ver original- function render($name, $vars) { 
-         $path = __SITE_PATH . '/views' . '/' . $name . '.php'; 
-   
-         { 
-                 throw new Exception('Template not found in '. $path); 
-                 return false; 
-         } 
-   
-         // Load variables 
-         foreach ($vars as $key => $value) 
-         { 
-                 $$key = $value; 
-         } 
-   
-         include ($path); 
- } 
Entonces en tu controller podrías hacer:   
Código PHP:
Ver original- $productos = $this->registry->template->render('productos', $productos_array); 
- echo $this->registry->template->render('index', $productos); 
Saludos
   Mas o menos lo he entendido pero no contemplas el caso de imprimir N plantillas de productos y meter sus N datos. Tu simplemente metes una plantilla y los datos del vector de $productos_array. 
Si por ejemplo en mi controler hago un bucle llamando a la funcion render('productos', $productos_array[i]) para todos los posibles valores de productos_array, es una buena solucion, o este tipo de codigo no deberia de ir en el controlador, si no en la vista ? 
Muchas gracias por las respuestas.