Problema al trabajar con plantillas

Hola expertos mi consulta es la siguiente:
Tengo una plantilla hecha íntegramente en html, dentro de ella dejé determinadas variables encerradas entre {llaves} .
Luego tengo la clase Plantilla en un archivo (clase_plantilla.php):
Y luego en otro archivo (imprimir.php) asigno cada una de las variables a la plantilla:
<?php
$rubro=".....";
include("clase_plantilla.php");
$Contenido=new Plantilla("plant_general");
$Contenido->asigna_variables(array(
"rubro" => $rubro,
"tabla_rubro" => "....",
"etcétera"=> ".....",
));
$ContenidoString = $Contenido->muestra();
echo $ContenidoString;
?>
El problema es que en "tabla_rubro" tengo que mostrar una consulta a MySQL y no sé cómo hacerlo. Es decir, sé cómo hacer una consulta y mostrar los resultados pero no sé cómo pasárselos a la variable "tabla_rubro" de la plantilla.
Si inserto directamente en ese lugar el código para hacer la consulta me da error.
Espero que puedan indicarme la solución si es que la hay. O si no qué camino debo tomar.
Muchas Gracias.
Respuesta
1
Creo que entiendo el problema. Puesto que tabla_rubro no es un valor si no una matriz de valores, el sistema que estás usando no sirve.
Tu sistema sustituye en la plantilla HTML los trozos entre llaves con el valor de la variable, con lo cual el HTML resulta correcto. Pero la única manera de pasar los valores de la matriz tabla_rublo es passarlos uno por uno.
Quizás deberías tener otro método distinto al 'asigna_variables' para el caso de tener que pasar matrices. Este método tendría que ver la longitud de la matriz y asignar los valores uno a uno.
No puedo decirte más sin ver un trozo de la plantilla donde se use tabla_rubro, pero creo que esa seria la solución.
Muchas Gracias!. Ahora por lo menos sé que tengo que ir por otro camino.
Cuando me haga un rato publico otra pregunta con la plantilla para que puedas darme una idea de cómo seguir.
Te agradezco, me sirvió mucho tu ayuda.
Jorge

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas