Sigueme por RSS! RSS

PHP Universal Feed Generator

PHP Universal Feed Generator es una clase desarrollada por Anis uddin ahmad de AjaXray, que permite generar fuentes Web o feed, a partir de un conjunto de datos.

Características:
* Soporta los formatos RSS 2.0, RSS 1.0 y Atom 1.0.
* Todos los feeds generados son validado para el feedvalidator.
* Compatible con todos los elementos de un feed.
* Es simple, fácil de configurar y aplicar.
* Implementa apropiadamente los namespaces para diferentes versiones.
* Convierte automáticamente los formatos de fecha.
* Habilita el uso de subetiquetas y atributos.
* Es orientado a objetos, usa PHP5.
* Incluye los CDATA necesarios.


Modo de uso:
1.- Lo descargamos e incluimos el archivo FeedWriter.php en nuestro sistema:
include("FeedWriter.php");

2.- luego creamos la instancia a la clase, indicamos los datos generales del feed, incluimos los items y generamos el feed, a continuación un ejemplo debidamente comentado:
(clic para mostrar/ocultar el código)
<?php
// incluimos la clase
include("FeedWriter.php");

// creamos una instancia de la clase - RSS2 es una constante, puede ser RSS1 ó ATOM
$Feed = new FeedWriter(RSS2);

// --------- datos generales del feed ----------
// nombre del sitio
$Feed->setTitle("Nombre del sitio");

// url del sitio
$Feed->setLink("url del sitio");

// descripcion del sitio
$Feed->setDescription("Descripción del sitio...");

// --------- datos del feed ----------
// nos conectamos a MySQL (en el caso de que ese sea tu DBMS)
mysql_connect("localhost", "usuario", "password") or die('Error: al conectar..');

// seleccionamos la base de datos
mysql_select_db("mi_db")  or die('Error: al seleccionar la base de datos..');

// obtenemos los primeros 5 articulos
$result = mysql_query("SELECT * FROM articulos LIMIT 5");

// --------- armamos el resto del feed ----------
while ($row = mysql_fetch_assoc($result)) {

  // hay que crear una instancia del Item
  $Item = $Feed->createNewItem();

  // agregamos el titulo
  $Item->setTitle($row["titulo"]);

  // agregamos la url
  $Item->setLink($row["url"]);

  // agregamos la fecha de publicacion
  $Item->setDate($row["fecha_pub"]);

  // agregamos el resumen de la publicacion 
  // podria ser el post completo, pero lo ideal es q sea un resumen
  $Item->setDescription($row["resumen"]);

  // agregamos el item
  $Feed->addItem($Item);
}

// por ultimo, generamos el Feed
$Feed->genarateFeed();
?>

El resultado algo como:
<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/">
<channel>
   <title>Nombre del sitio</title>
   <link>url del sitio</link>
   <description><![CDATA[ descripción del sitio.. ]]></description>
   <item>
      <title>titulo del item</title>
      <link>la url al tuto</link>
      <pubDate>aqui la fecha de publicacion..</pubDate>
      <description><![CDATA[ aquí iría la descripción..]]></description>
   </item>
       <!-- contenido del item ... -->
   <item>
   <!-- resto de los item -->
</channel>
</rss>

Referencias:
ajaxray.com
phpclasses.org

0 comentarios: Suscribete a los comentarios por RSS

Publicar un comentario

- Los comentarios están siendo moderados y serán publicados en la brevedad posible.