Foros del Web » Programando para Internet » PHP »

Reemplazo multiple en plantillas

Estas en el tema de Reemplazo multiple en plantillas en el foro de PHP en Foros del Web. Hola! Tengo una duda que me aqueja, tengo un sistema de plantillas: Código PHP: <?php class  TemplateClass {          private  $_dir            =  'template/' ;     private  ...
  #1 (permalink)  
Antiguo 11/10/2012, 10:57
 
Fecha de Ingreso: septiembre-2012
Mensajes: 10
Antigüedad: 11 años, 6 meses
Puntos: 0
Reemplazo multiple en plantillas

Hola!

Tengo una duda que me aqueja, tengo un sistema de plantillas:

Código PHP:
<?php
class TemplateClass{
    
    private 
$_dir           'template/';
    private 
$_file_ext        '.tpl';
    private 
$_vars        = array(); 
    private 
$_delimiters     = array('{''}'); 
    
    public function 
Assign($name$value){
        if(!
array_key_exists($name$this->_vars))
            
$this->_vars[$name] = $value;
    }
    public function 
GetAssign($name){
        return 
$this->_vars{$name};
    }
    public function 
Template($file){ 
        if( 
$output = @file_get_contents($this->_dir.$file.$this->_file_ext)){
            foreach(
$this->_vars as $name => $value){
                
$output str_replace($this->_delimiters[0].$name.$this->_delimiters[1], $value$output); //recorremos todo el archivo para cambiar las palabras con los delimitadores a su respectiva traduccion
            
}
            return 
$output;
        }
        else 
            die(
"La plantilla no existe."); 
    }
}
?>
La cual utilizo para crear mis plantillas.

Su funcionamiento es bastante simple:
Código PHP:
$plantilla = new TemplateClass();
$plantilla->Assign("variable","Hola Mundo");
echo 
$plantilla->Template("plantilla.tlp"); 
Mi problema es cuando quiero reemplazar la variable por varios resultados. Es decir si tengo {variable}. Reemplazarla por varios resultados por ejemplo, obtenidos de la bd.

De antemano muchas gracias.

Etiquetas: plantillas, reemplazo, variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:58.