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.
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.
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.