Hosting Joomla - Alojamiento para Joomla, blog y vídeos Joomla

Miércoles, 28 de Abril de 2010 22:28

Cómo crear un feed RSS con el API de Joomla

por  David Noguera
Vota este articulo
(3 votos)

Webempresa y RSS en JoomlaLos feed RSS son un estándar creado para mantenerse actualizado de las últimas noticias. Están basados en tecnología XML, por lo que se pueden usar bajo cualquier plataforma y ser generados bajo cualquier tecnología. Joomla dispone de un API para crear estos feeds de una manera bastante sencilla.

Al igual que disponemos de un tipo de vista HTML, RAW o PDF, también se dispone del tipo de vista FEED. Usaremos el objeto JView bajo el directorio views típico que suele contener cada componente, pero esta vez el nombre del fichero deberá ser view.feed.php.

Vamos a ver un ejemplo sencillo en el que crearemos un feed a partir de la tabla de usuarios de joomla a modo de ejemplo.

Código del fichero view.html.php


defined( '_JEXEC') or die( 'Restricted access');
jimport( 'joomla.application.component.view');

class wefeedViewusuarios extends JView
{
function display($tpl = null){
$model = $this->getModel();
$usuarios = $model->getUsuarios();
$this->assignRef("usuarios",$usuarios);

$document =& JFactory::getDocument();
$atributos = array("type" => "application/rss+xml","title" => "Feed de Usuarios");
$document->addHeadLink("index.php?option=com_wefeed&view=usuarios&format=feed", "alternate", "rel", $atributos);
parent::display($tpl);
}

}

Con el método addHeadLink del objeto JDocument añadimos el enlace al RSS que aparecerá generalmente a la derecha de la URL en el navegador. La variable $atributos contiene información para configurar el feed. La URL del feed es la misma que la de la vista pero se le agrega el parámetro "format=feed".

Código del fichero view.feed.php


defined( '_JEXEC') or die( 'Restricted access');
jimport( 'joomla.application.component.view');

class wefeedViewusuarios extends JView
{
function display($tpl = null){
//El model ha de llamarse igual que la vista!!
$model = $this->getModel();
$usuarios = $model->getUsuarios();
$document =& JFactory::getDocument();
foreach($usuarios as $usuario){

$document->setTitle('Feed de usuarios');
$document->set('copyright', 'WebEmpresa');

$item = new JFeedItem();
$item->set('title', "Usuario:" . $usuario->usename);
$item->set('link', "index.php?com_user&user_id=" . $usuario->id);
$item->set('description', "Alguna descripción.");
$document->addItem($item);

}
parent::display($tpl);
}

}

Después, al acceder a la vista usuarios, aparecerá el botón para suscribirse.

Feed generado con el Framework de Joomla

Y al pinchar, se generará automáticamente el feed:


<?xml version="1.0" encoding="utf-8"?>
<!-- generator="Joomla! 1.5 - Open Source Content Management" -->
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Feed de usuarios</title>
<description>Joomla! - el motor de portales dinámicos y sistema de administración de contenidos</description>
<link>http://localhost</link>
<lastBuildDate>Sun, 28 Mar 2010 00:34:52 +0000</lastBuildDate>
<generator>Joomla! 1.5 - Open Source Content Management</generator>
<language>es-es</language>
<copyright>WebEmpresa</copyright>
<item>
<title>Usuario:</title>
<link>http://localhostindex.php?com_user&user_id=62</link>
<guid>http://localhostindex.php?com_user&user_id=62</guid>
<description><![CDATA[Alguna descripción.]]></description>
</item>
<item>
<title>Usuario:</title>
<link>http://localhostindex.php?com_user&user_id=63</link>
<guid>http://localhostindex.php?com_user&user_id=63</guid>
<description><![CDATA[Alguna descripción.]]></description>
</item>
<item>
<title>Usuario:</title>
<link>http://localhostindex.php?com_user&user_id=64</link>
<guid>http://localhostindex.php?com_user&user_id=64</guid>
<description><![CDATA[Alguna descripción.]]></description>
</item>
</channel>
</rss>

El navegador lo interpretará y abrirá automáticamente la aplicación que tengas configurada en el sistema para administrar las suscripciones RSS.

Administrador de suscripciones de Firefox

De esta forma, cuando accedamos a la vista usuarios, aparecerá en botón para suscribirse por RSS y dotaremos a nuestros usuarios de una forma sencilla y estandarizada de seguir las noticias de nuestro sitio.

Esperamos que os haya ayudado este artículo para vuestros desarrollos.

Ultima modificacion el Martes, 15 de Marzo de 2011 12:13

Buscador Joomla

Cargando...

Webempresa en Facebook

Quieres estar al día en Joomla?
Haz clic en "Me gusta"


Información Joomla en 2.0

Twitter_Facebook_Youtube_Feed_

Notícias Joomla en tu Email

noticias Joomla
Suscríbete Ahora!
Código:
Joomla : Hosting Joomla - Alo

Artículos en tu lector RSS

Suscríbete a nuestro Feed RSS

¡Descubre nuestros Packs!


Pack Tienda Joomla

Pack Empresa Joomla

Pack Periódico o Revista Joomla


Servicios que ofrecemos para Joomla :
Hosting JoomlaHosting Joomla
Servidores Joomla especializados.
Soporte Joomla 24x7x365
hosting_joomla Reseller Joomla
Especial para Diseñadores Joomla. Olvídate del Hosting de tus Clientes
ayuda JoomlaAprende Joomla
Formación Joomla 1.5 y Joomla 1.7. Vídeos de las extensiones más populares
Desarrollo JoomlaPacks Joomla
Múltiples diseños profesionales.
Tu Web Joomla por 299€