PclTemplate es una clase para manejar fácilmente plantillas. Puede leer plantillas por archivos de texto o por una cadena (string).
Vamos a hacer un ejemplo simple para ver cómo funcioma esta clase.
Primero descargamos los archivos de la página oficial http://www.phpconcept.net/pcltemplate/index.php
Empezemos:
Esta clase puede manejar varios tipos de "tokens"; estas son
- Simples
- De lista, tabla o arrays
- Condicionales
- Y de "includes"
Nuestro primer ejemplo será con las simples. Primero creamos la plantilla. Va a ser un simple html en la que necesitaremos el título y el usuario:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="content-type" content="text/html; charset=windows-1250"><title><!--(titulo)--></title></head><body>Bienvenido <!--(usuario)-->!</body></html>
Vemos que las tokens se definen como comentarios.
Ahora, vamos a hacer el php que leerá la plantilla y nos dará los datos:
<?phprequire_once('pcltemplate.class.php');
$plantilla = new PclTemplate();$plantilla->parseFile('plantilla1.html');
$datos = array();$datos['titulo'] = 'Probando la librería';$datos['usuario'] = 'Invitado';
$resultado = $plantilla->generate($datos, 'string');echo $resultado;?>
Primero, incluimos la clase, creamos un objeto de PclTemplate y con parseFile('plantilla1.html') le indicamos que leeremos la plantilla "plantilla1.html";
Los datos son almacenados en arrays, entonces creamos un array y definimos los datos en base a las tokens.
Ahora, el resultado, debemos guardarlo en una "string" para poder mostrarlo. Creamos una variable $resultado y generamos el string.
Por último, hacemos un echo a la variable $resultado y nos dará lo siguiente:
Bienvenido invitado!
Se pueden definir cuantas tokens como se desee.
Ahora, algo muy útil, vamos a usar las tokens de listas:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="content-type" content="text/html; charset=windows-1250"><title><!--(titulo)--></title></head><body><!--(list:usuarios)--><table border="1"><tr><td>Nombre</td><td>Apellido</td></tr><!--(item)--><tr><td> <!--(nombre)--></td><td><!--(apellido)--></td></tr><!--(enditem)--></table><!--(endlist)--></body></html>
Con <!--(list:usuarios)--> decimos que vamos a trabajar con la lista usuarios.
<!--(item)--> y <!--(enditem)--> encierran a cada uno de los datos que representa cada lista, lo que está encerrado aquí se repetirá por cada item que tenga la lista.
Ahora el php:
<?phprequire_once('pcltemplate.class.php');$plantilla = new PclTemplate();$plantilla->parseFile('plantilla1.html');
$datos = array();$datos['titulo'] = 'Probando la librería';
$datos['usuarios'][0]['nombre'] = 'Pedro';$datos['usuarios'][0]['apellido'] = 'Perez';
$datos['usuarios'][1]['nombre'] = 'María';$datos['usuarios'][1]['apellido'] = 'Martines';
$datos['usuarios'][2]['nombre'] = 'Luis';$datos['usuarios'][2]['apellido'] = 'Lozano';
$resultado = $plantilla->generate($datos, 'string');echo $resultado;?>
Lo que nos dará el siguiente resultado:
Nombre | Apellido |
Pedro | Perez |
María | Martines |
Luis | Lozano |
Esta clase es muy fácil de usar, y útil para separar la programación del diseño.
Para terminar les dejo un comprimido con los archivos del tutorial (incluye la librería): http://casinada.freetzi.com/?d=pclTemplate.rar
Les invito a http://www.phpconcept.net/pcltemplate/index.php, página oficial de la clase, ahí encontraran más ejemplos y un muy buen manual de uso.
Hasta la próxima!
No hay comentarios:
Publicar un comentario