Creo que no hace falta decir que la librería TemplatePower me gusta bastante, a pesar de algunas carencias importantes que tiene. Hoy vamos a ver como realizar un feed RSS mediante esta librería.
Lo primero que necesitamos es la plantilla con el feed:
feed.tpl:
<?xml version="1.0" encoding="UTF-8"?> <rss version="2.0"> <channel> <title>{title}</title> <link>{link}</link> <description>{description}</description> <!-- START BLOCK : item --> <item> <title>{title}</title> <link>{link}</link> <description>{description}</description> </item> <!-- END BLOCK : item --> </channel> </rss>
Este sería un feed muy sencillo, pero como ejemplo nos sirve perfectamente. Luego tendríamos el código PHP que nos generaría el feed usando TemplatePower:
feed.php:
<?php include 'class.TemplatePower.inc.php'; // Indicamos que el contenido es un XML header('Content-Type: text/xml'); // Creamos el objeto para generar la plantilla $tpl = new TemplatePower('feed.tpl'); $tpl->prepare(); // Es una función ficticia que nos devolvería un objeto con los datos del canal $canal = obtenerDatosCanal(); // Asignamos los datos del canal $tpl->assign('title', $canal->title); $tpl->assign('link', $canal->link); $tpl->assign('description', $canal->description); // Es una función ficticia que nos devuelve un array de objetos con los datos // de los items. $items = obtenerItems(); // Recorremos los items para ir generandolos foreach ($items as $item) { // Creamos un nuevo bloque y le asignamos los datos $tpl->newBlock('item'); $tpl->assign('title', $item->title); $tpl->assign('link', $item->link); $tpl->assign('description', $item->description); } $tpl->printToScreen(); ?>
Y con esto quedaría generado nuestro feed. El formato RSS es bastante más complejo y tiene más etiquetas de las expuestas en este artículo, esto es solo un pequeño ejemplo a modo de prueba conceptual. Podemos ver la especificación del formato en la siguiente página: RSS 2.0 Specification.
Artículos relacionados:
Artículos relacionados:
Tags: librería, PHP, RSS, TemplatePower