Lo primero de todo es un sitio Web con contenido, ya sea estático o dinámico. Un editor Web. Si bien no es necesario y podemos codificar mediante bloc de notas, si es recomendable. Nosotro hemos utilizado Adobe Dreamweaver, el cual pueden obtenerlo desde el siguiente enlace.
Para crear un feed RSS, es necesario codificar un archivo en formato XML, el cual contiene las etiquetas necesarias para interpretar y desplegar el contenido en el formato especificado, al cual accederán los usuarios. Este archivo podemos dejarlo nativo en XML, o bien incrustarlo dentro de PHP, como veremos en ámbos casos a continuación.
Para crear un feed dinámico, consideraremos que tenemos una base de datos, la cual tiene una tabla de noticias con un campo título, un campo enlace, un campo detalle y un campo de fecha de las noticias, tal como vemos a continuación:
[table id=1 /]
Entonces, lo primero que debemos hacer es crear un archivo PHP en nuestro editor Web, el que tendrá una estructura como la que sigue:
<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>Noticias de mi fantabulenial sitio Web</title>
<link>http://www.ejemplo.com</link>
<description>Las mejores noticias de Internet</description>
<?php
...
?>
</channel>
</rss>
Como podrán ver, en el código anterior dejamos una sección en blanco, entre las etiquetas <?php y ?>. Esta parte del código es donde nos conectaremos a la base de datos, rescataremos las noticias y las desplegaremos dinámicamente. Para esto, primero haremos la conexión a la base de datos. Como buena práctica utilizaremos DEFINE para, valga la redundancia, definir los datos de conexión, pero si quieren pueden saltarse esta parte y ejecutar la función directamente:
- DEFINE ('USUARIO_BD', 'el nombre de usuario de la bd');
- DEFINE ('CLAVE_BD', 'la clave de acceso a la bd');
- DEFINE ('HOST_BD', 'el servidor de la bd');
- DEFINE ('NOMBRE_BD', 'el nombre de la base de datos');
Y ahora hacemos la conexión:
- $conexion = mysql_connect(HOST_BD, USUARIO_BD, CLAVE_BD) or
- die ('No se pudo conectar a la BD');
- mysql_select_db(NOMBRE_BD) or die ('No se pudo seleccionar
- la BD');
- $consulta = "SELECT * FROM noticias ORDER BY fecha DESC";
- $resultado = mysql_query($consulta) or die ('Error al
- ejecutar la consulta');
- while ($fila = mysql_fetch_array($resultado, MYSQL_ASSOC){
- echo '<item>
- <title>'.$fila['titulo'].'</title>
- <link>'.$fila['enlace'].'</link>
- <description>'.$fila['detalle'].'</description>
- </item>';
- }
Con lo anterior, ejecutamos un ciclo que pasará a un array de forma asociativa (gracias al parámetro MYSQL_ASSOC, el cual nos permitirá acceder a los registros en el array con el mismo nombre que tienen en la tabla de la base de datos) cada noticia hasta que se acaben y creará un nuevo ítem con los respectivos valores para incluir en el feed.
Con eso estamos casi listos, el último detalle es añadir un pequeño encabezado al comienzo del documento, indicando que estamos ejecutando contenido XML para un mejor reconocimiento al momento de ejecutar el script completo, esto lo hacemos añadiendo al comienzo:
- <?php
- header("Content-Type: application/rss+xml; charset="utf-8");
- ?>
- <?php
- header("Content-Type: application/rss+xml; charset=utf-8");
- ?>
- <?xml version="1.0" encoding="utf-8"?>
- <rss version="2.0">
- <channel>
- <title>Noticias de mi fantabulenial sitio Web</title>
- <link>http://www.ejemplo.com</link>
- <description>Las mejores noticias de Internet</description>
- <?php
- DEFINE ('USUARIO_BD', 'el nombre de usuario de la bd');
- DEFINE ('CLAVE_BD', 'la clave de acceso a la bd');
- DEFINE ('HOST_BD', 'el servidor de la bd');
- DEFINE ('NOMBRE_BD', 'el nombre de la base de datos');
- $conexion = mysql_connect(HOST_BD, USUARIO_BD, CLAVE_BD) or
- die ('No se pudo conectar a la BD');
- mysql_select_db(NOMBRE_BD) or die ('No se pudo seleccionar
- la BD');
- $consulta = "SELECT * FROM noticias ORDER BY fecha DESC";
- $resultado = mysql_query($consulta) or die ('Error al
- ejecutar la consulta');
- while ($fila = mysql_fetch_array($resultado, MYSQL_ASSOC){
- echo '<item>
- <title>'.$fila['titulo'].'</title>
- <link>'.$fila['enlace'].'</link>
- <description>'.$fila['detalle'].'</description>
- </item>';
- }
- ?>
- </channel>
- </rss>
Descargate ya la versión Beta de este Blog: APK Recuerda que la tendrás que abrir este enlace desde el navegador de tu movil.
No hay comentarios:
Publicar un comentario