| Portada | Monotemáticos | Secciones | Desarrolladores | Comunidad | Servicios | Servicios profesionales | RSS | ||||
04/9/03 - Una de las claves de un desarrollo en la web limpio y fácil de mantener es separar el código de la presentación. En esa línea de ideas, las tecnologías modernas, como XML o CSS, ya están pensadas para hacer posible la separación de forma y contenido, cosa que resulta impensable con HTML.
El caso que nos ocupa, Template Power, consiste en un módulo que viene a hacer posible la separación del código PHP y el código HTML de una manera fácil y rápida. Dicho de otra manera, Template Power permite escribir el código HTML en unos archivos llamados plantillas y el código PHP en páginas que no tendrían necesidad de incluir una sola etiqueta HTML, sino que solamente llamarían a las distintas plantillas necesarias para hacer la página.
El producto es gratuito para uso personal y se puede utilizar en versiones de PHP 4.0.1 o superior. Su página de inicio, donde se puede descargar y acceder al manual es http://templatepower.codocad.com.
Método de trabajo
Vamos a describir aquí el método de trabajo usando Template Power, aunque no deseamos alargarnos mucho, ya que el propio producto tiene un completo manual que podemos encontrar incluso en castellano.
Un primer paso sería crear una plantilla, que contendrá código HTML, junto con algunas marcas propias del sistema Power Template. Entre estas podremos encontrar variables, que permiten sustituir el nombre de una variable por un valor, y los bloques, que permiten incluir otras plantillas o una lista de elementos con distintos datos.
La sintaxis de una plantilla sería algo parecido a esto.
<div align=center>{nombrecategoria}</div>
<hr align="center">
<table width="300" cellpadding="2" cellspacing="2" align=center>
<!-- START BLOCK : productos-->
<tr><td>
<b><a href="ficha_producto.php?id={idproducto}">{nombreproducto}</a></b><br>
{descripcionproducto}
</td></tr>
<!-- END BLOCK : productos -->
</table>
En la plantilla del ejemplo podríamos estar visualizando una categoría de productos de una tienda virtual. En la categoría de productos habría un nombre y una lista de productos asociados a la categoría, que podrían ser uno o varios.
Las variables, serían las introducidas entre llaves, por ejemplo {nombrecategoria} y se podrían sustituir por un dato.
Los bloques estarían definidos por una línea de código como la que sigue:
<!-- START BLOCK : productos-->
Con su correspondiente línea de cierre de bloque, situada un poco más abajo. En este caso el bloque sirve para incluir una repetición de productos dentro de una categoría.
Como hemos podido comprobar, en las plantillas no se incluye ni una sola línea PHP. Ahora veremos cómo se programarían las páginas PHP para hacer uso de una plantilla como la que hemos visto.
<?
require "./clases/TemplatePower.inc.php";
$t = new TemplatePower("plantillas/cat_productos.tpl");
$t->prepare();
$t->assign(array(
nombrecategoria => 'Material de cocina',
));
$ssql = "select * from productos where nombrecategoria='Material de cocina'"
$productos = mysql_query($ssql);
while ($fila=mysql_fetch_object($productos)){
$t->newBlock("productos");
$t->assign(array(
nombreproducto => $fila->nombreproducto,
idproducto => $fila->idproducto,
descripcionproducto => $fila->decripproducto
));
}
$t->printToScreen();
?>
| Nota: Estos scripts están pensados únicamente para ilustrar el funcionamiento de Template Power. Han sido extractados de una aplicación que he realizado recientemente con este sistema, por lo que pueden estar incompletos o incorrectos sintacticamente. |
| Autoría, licencia y acciones sobre este artículo | ||||||
|
Informe de Miguel Angel Alvarez*
Director de DesarrolloWeb.com Atención: Contenido exclusivo de DesarrolloWeb.com. No reproducir. Copyright. * Para consultas técnicas utilizar la lista de correo.
|
| Comentarios de los visitantes |
|
Aun no hemos recibido comentarios de este artículo.
Puedes ser el primero en enviar tu comentario. |
| Enlaces: |
| Maestrosdelweb |
Lectura recomendada + PHP 5 Compra este libro en Agapea, la librería urgente a domicilio. |
||||||||
Tienda DesarrolloWeb