Ver Mensaje Individual
  #5 (permalink)  
Antiguo 06/04/2012, 07:44
Avatar de nicolyto77
nicolyto77
 
Fecha de Ingreso: marzo-2007
Ubicación: Buenos Aires
Mensajes: 782
Antigüedad: 17 años, 10 meses
Puntos: 12
Respuesta: Problema con Clase, Funcion y BD

Gracias masterpuppet !

Parece una tonteria, pero me hiciste volver a revisar la funcion hasta sacarle el jugo y pude corregir el problema !

Pero, ahora me viene otro tema... No se que sucede con la plantilla, ya que yo le hago un die(); al error para ver hasta donde llega el problema y me encuentro con que la funcion de leer la plantilla le llegan las mismas rutas hacia distintos archivos pero uno no los lee y el otro si, cuando las rutas son correctas y los dos ficheros existen:

Código PHP:
$this->tpl_file 'directorio/' $_DIR '/' $template_file '.tpl'
Yo mas adelante le hago un die($this->tpl_file); para ver la ruta de la plantilla a cargar, y en ambos casos figuran ficheros validos y existentes.

En el raiz de mi sitio cargo la plantilla por ejemplo en el fichero register.php asi:

Código PHP:
<?php
    
include_once("template.php");
    
$Contenido=new Plantilla("register");
    
$Contenido->asigna_variables(array(
                    
"w_register_msg" => "Registrate Gratis en la Web"
                    
));
    
$ContenidoString $Contenido->muestra();
    echo 
$ContenidoString;
?>
Ahora, dentro del directorio de las plantillas html tengo el fichero register.tpl en el cual muestro el html con esas variables (w_register_msg) y todo va bien.

Código HTML:
Ver original
  1. <body><p>{w_register_msg}</p></body>

Y funciona perfecto! En el die($this->tpl_file); me muestra el directorio perfectamente: directorio/14251/register.tpl

Ahora, quiero cargar otra plantilla, pero en vez de estar en el raiz del sitio, esta en otra carpeta, ya que intenta ser un bloque aparte:

/bloques/hello.php

Y esta todo igual que en el register.php salvo el path hacia los ficheros, ya que esta nivel por encima:

Código PHP:
<?php
    
include_once("../template.php");
    
$Contenido=new Plantilla("hello");
    
$Contenido->asigna_variables(array(
                    
"w_hello" => "Hola Mundo !!!"
                    
));
    
$ContenidoString $Contenido->muestra();
    echo 
$ContenidoString;
?>
Y en el directorio tengo tambien su respectivo directorio/14251/hello.tpl donde muestro la variable en php como antes:

Código HTML:
Ver original
  1. <body><p>{w_hello}</p></body>

Pero en este caso, si bien el die($this->tpl_file); me muestra la ruta correctamente, la mencionada arriba y existe tambien, pero me da error asi:

Código:
Warning: fopen(directorio/14251/hello.tpl) [function.fopen]: failed to open stream: No such file or directory in C:\...
Ahora me quede sorprendido... No se donde estoy fallando, a ver si me pueden dar una manita y soluciono esto que me tiene despierto de hace dias

Gracias nuevamente, un saludon
__________________
CabaSoft Networks