Foros del Web » Programando para Internet » PHP »

Clase Templates

Estas en el tema de Clase Templates en el foro de PHP en Foros del Web. Buenas: Necesito que alguién me eche una mano llevo tiempo intentando utilizar la clase templates para crear plantillas en mis páginas web pero de momento ...
  #1 (permalink)  
Antiguo 03/12/2009, 10:39
 
Fecha de Ingreso: noviembre-2009
Mensajes: 10
Antigüedad: 14 años, 5 meses
Puntos: 0
Clase Templates

Buenas:

Necesito que alguién me eche una mano llevo tiempo intentando utilizar la clase templates para crear plantillas en mis páginas web pero de momento no acabo dando con el tema.

Os pido que me digáis un ejemplo de como se utiliza para intentar probarlo. No sé muy bien como llamar a las funciones para que se peguen las plantillas en las variables entre llaves.

Gracias.

Un saludo.
  #2 (permalink)  
Antiguo 03/12/2009, 10:43
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Clase Templates

Código php:
Ver original
  1. class plantilla{
  2.   function plantilla($template_file){
  3.     $this->tpl_file = $template_file;
  4.   }
  5.   function asigna_variable($vars){
  6.     $this->vars = (empty($this->vars)) ? $vars : $this->vars.$vars;
  7.   }
  8.   function muestra(){
  9.     if($this->fd = @fopen($this->tpl_file,"r")){
  10.       $this->template_file = fread($this->fd,filesize($this->tpl_file));
  11.       fclose($this->fd);
  12.       $this->mihtml = $this->template_file;
  13.       $this->mihtml = str_replace("'","\'",$this->mihtml);
  14.       $this->mihtml = preg_replace('#\{([a-z0-9\-_]*?)\}#is',"'.$\\1.'",$this->mihtml);
  15.       reset($this->vars);
  16.       while(list($key,$val) = each($this->vars)){
  17.         $$key = $val;
  18.       }
  19.       eval("\$this->mihtml = '$this->mihtml';");
  20.       reset($this->vars);
  21.       while(list($key,$val) = each($this->vars)){
  22.         unset($$key);
  23.       }
  24.       $this->mihtml = str_replace("\'","'",$this->mihtml);
  25.       return $this->mihtml;
  26.     }
  27.   }
  28. }

Código html:
Ver original
  1. <div style="border:1px solid #000;margin:15px;padding:15px;">{texto}</div>

Código php:
Ver original
  1. $Contenido = new Plantilla ( "direccionTemplate.html" );
  2. $variable_texto = "probando :P";
  3. $Contenido->asigna_variable ( array ("texto" => $variable_texto ) );
  4. $ContenidoString = $Contenido->muestra();
  5. echo $ContenidoString;


asi lo uso yo.. saludos
espero te sirva :P
__________________
More about me...
~ @rhyudek1
~ Github
  #3 (permalink)  
Antiguo 03/12/2009, 11:26
 
Fecha de Ingreso: noviembre-2009
Mensajes: 10
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: Clase Templates

Hidek muchas gracias. Por fin tengo por dónde tirar.

Un saludo.
  #4 (permalink)  
Antiguo 04/12/2009, 06:17
 
Fecha de Ingreso: noviembre-2009
Mensajes: 10
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: Clase Templates

Hola Hidek:

A ver si me puedes echar una mano de nuevo.
Lo que quiero es ver como puedo asociar las variables con fichero de código independientes. Lo que quiero decir es tener almacenados esos ficheros con secciones de código en un directorio y luego asociarlos con variables para sustituirlos en el script principal.

Un saludo.
  #5 (permalink)  
Antiguo 04/12/2009, 06:25
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Clase Templates

bueno puedes usar classes o funciones en los otros archivos
ejemplo:
Código php:
Ver original
  1. class index{
  2.     function principal(){
  3.         $Contenido = new Plantilla ( "direccionTemplateIndex.html" );
  4.         $mensajePrueba = "testeando";
  5.         $Contenido->asigna_variable ( array ("variable" => $mensajePrueba ) );
  6.         $ContenidoString = $Contenido->muestra();
  7.         return $ContenidoString;
  8.     }
  9. }


Código php:
Ver original
  1. $Contenido = new Plantilla ( "Template.html" );
  2. include_once('otro_archivo.php');
  3. $index = new index();
  4. $variable_texto = $index->principal();
  5. $Contenido->asigna_variable ( array ("texto" => $variable_texto ) );
  6. $ContenidoString = $Contenido->muestra();
  7. echo $ContenidoString;


saludos ! ! !
__________________
More about me...
~ @rhyudek1
~ Github
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 19:19.