Hosting Joomla, formación, soporte técnico Joomla, diseño web Joomla

Acceso Panel de Control Clientes y Compra de Productos

Cómo crear un feed RSS con el API de Joomla
Joomla Blog - Formacion Joomla
Miércoles, 28 de Abril de 2010 22:28

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.

Share
Trackback(0)
Comentarios (0)add comment

Escribir comentario

busy
 

¡Suscríbete a nuestro Boletín!


noticias Joomla
Información actualizada sobre Joomla y Webempresa
Code:

Nuestro Equipo :

GerardGerard Martinez
Director
Comercial
MaiteMaite Mercader
Responsable
Joomlafácil
PabloPablo Velasco
Analista
Programador
DavidDavid Noguera
Analista
Programador
LucasLucas Guardino
Analista
Programador
NuriaNuria Durán
Diseñadora Web - Creativa
JorgeJorge Sala
Diseñador Web - Formador
YolandaYolanda Leiva
Servicio
Técnico

Ejemplo Tienda Virtual

Último Joomla Realizado

Noticia Destacada

Como insertar el mapa de Google Maps en Joomla!

En el vídeo que mostramos en este artículo explicamos como dar de alta un negocio en Google Maps y luego insertar el mapa en Joomla!. La realización de ambos pasos es importante para sitios webs que son un negocio o similares, ya que cumplen un doble objetivo:

- Alta en Google Maps, con lo que conseguimos un enlace al sitio web creado y nos ayudará a nivel de resultados en los buscadores.

- Inserción del mapa en el sitio web, dotamos al mismo de la interactividad propia que nos ofrece la herramienta de Google Maps y permite de una manera rápida tener un mapa interactivo, y no usar mapas que son una simple imagen o realizados en flash que no permiten una fácil modificación por el administrador de la página a menos que domine las herramientas de Retoque Fotográfico o de creación de archivos Flash.

Leer más...

Participación en Joomla.org

joomla developer gold

Búsqueda Google en Webempresa

Servicios que ofrecemos para Joomla :
Hosting JoomlaHosting Joomla :
Servidores
100% preparados
para Joomla
Soporte JoomlaSoporte :
Técnicos cualificados en Joomla a tu servicio.
Formación JoomlaCursos online:
Formación Joomla personalizada
Consúltanos
Desarrollo JoomlaDiseño Web:
Servicio Profesional de Diseño Web Joomla
¿Información comercial?