Tema: Templates
Ver Mensaje Individual
  #31 (permalink)  
Antiguo 22/01/2003, 20:12
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Creo q todavia no has entendido la filosofia de usar un motor de templates ...

Esa estructura q tienes actualmente si usas "templates" deberias encajarla a su vez en una template "padre" ..

Tus bloques q actualmente llamas via un include NO deberian instanciar el objeto NokTemplate ($html=new () ...) .. NI tampoco hacer el $html->imprimir('FINAL'); pues eso lo tiene que hacer la plantilla "padre" de donde cuelgan tus "include" ...

Si, puedes tener porciones de código de template a generar y llamarlos via "include" .. pero has de tener en cuenta que hacer un "include" lo que haces es que PHP llame a ese código y lo incruste en el sitio desde donde se llamo .. hace la pgina y cuando lo tiene todo listo lo entrega al dispositivo de salida .. A su vez .. usando un motor de templates .. primero PHP se lo entrega a motor de template (via sus métodos que ya haces) .. y en ultima instancia es entregado todo al "navegador" via el método "$hmtl->imprimir()" de este motor de template ..

En esquema seria algo así lo q comento:
Código PHP:
<?
$html
= new NokTemplate("templates");
$html->cargar('PADRE_PLANTILLA','padre.htm');

include(
"header.php"); // {HEADER}

include("contenido.php"); {CONTENIDO}

include(
"pie.php"); {PIE}

$html->expandir('FINAL','PADRE_PLANTILLA');
$html->imprimir('FINAL');
?>
Y esos .php q llamas en el include .. SOLO deben hacer que lo q tengan q hacer (cargar template y/o definir bloques .. asignar variables a variables de la template ..) siendo lo ultimo un:

$html->expandir(LOQUESEA,destino)
(nada de $html->imprimir() .. ni FINAL .. etc)

siendo:

LOQUESEA ... el bloque que has generado ...
destino .. el lugar q va a ocupar en la template PADRE que previamente has definido su ubicación y lo has definido con {destino} ...

Esa sería la filosofia mas o menos de trabajo .. Para q lo entiendas bien . primero tendrias q hacer una página completa empezando desde la template PADRE hacia abajo (anidadas) con las HIJAS ... como es tu caso esos bloques de "header y lo q sea" ...

De todas fomas .. por la misma filosofia de las templates y como te he descrito .. Usar un "footer" y un "header" .. ahora así no tiene sentido pues ese "header" y "footer" lo puedes definir en la plantilla PADRE que será la que siempre va aparecer esos dos "bloques" .. lo q tendras y puedes llamar via "include" son los bloques de menu, contenido .. y otros ..


Un saludo,