Ver Mensaje Individual
  #4 (permalink)  
Antiguo 18/09/2008, 12:25
Avatar de Viet
Viet
 
Fecha de Ingreso: octubre-2003
Ubicación: Mar del Plata - Argentina
Mensajes: 247
Antigüedad: 20 años, 7 meses
Puntos: 2
Respuesta: mini templating

Muchas gracias !
Lo pase a una clase para optimizar un poco la cosa, ya que no deberia leer el archivo varias si en el mismo request deseo hacer varias veces el mismo template con distintos valores. Por ejemplo si el template es un row de un listado.

dejo el cod por si a alguien le sirve o lo puede mejorar :

Código PHP:
/*
 * shortcut para el uso de MiniTemplate
 * ej:
 *  render_to_response('/path/archivo.html',array('link'=>'www.php.com')); 
 *  esto remplazara todas las veces que encuentre en archivo.html a {{link}}  con www.php.com 
 * 
*/
function render_to_response($file_name,$values){
    
$template = new MiniTemplate($file_name);    
    return 
$template->render($values);
}

/*
 * Esta clase es para levantar y remeplazar templates html(o lo que sean)
 * con valores a las claves entre {{key}} 
 * */
class MiniTemplate{
    
    var 
$file_name;
    var 
$content;
    
    function 
MiniTemplate($file_name){
        
$this->file_name $file_name;
        
$this->content file_get_content($file_name);
    }
    
    
// remplaza los valores en el content segun las keys
    
function render($values){        
        
$res $this->content;        
        foreach(
$values as $key=>$val){
            
$res str_replace("{{$key}}",$val,$res);
        }
        return 
$res;        
    }    

de manera muy simple se puede parametrizar los token que usa, en este caso {{}}, pero como no lo necesito, :)

Saludos
__________________
Keep it simple and keep it fast.