Usando Feeds para importar datos desde un archivo CSV en Drupal
¿Alguna vez se han preguntado cómo importar contenidos desde un archivo CSV hacia un sitio en Drupal?. Si es así y eso los trajo a ésta página sigan leyendo que les puede interesar.
El módulo Feeds:
Según sus autores el módulo feeds importa o agrega datos como nodos, términos de taxonomías, o simples registros de base de datos. Las fuentes de la importación pueden ser RSS/Atom feeds, CSV, OPML y algunos más que no conozco y que para los propósitos de este artículo no son importantes.
Instalando el módulo:
Los pasos son los siguientes:
Descargar el módulo ctools desde http://drupal.org/project/ctools
Descargar el módulo feeds desde http://drupal.org/project/feeds
Descomprimir los archivos descargados y copiarlos a la carpeta /sites/all/modules de tu instalación de Drupal
Activar el módulo ctools en www.ejemplo.com/admin/build/modules (reemplazando www.ejemplo.com por el dominio adecuado).
Activar los tres módulos de feeds que son: Feeds, Feeds admin UI y Feeds defaults
El archivo CSV
En este ejemplo voy a usar un archivo CVS con tres columnas asi:
guid,titulo,cuerpo 1,”Titulo del Articulo1”, “Contenido del articulo1” 2,”Titulo del Articulo2”, “Contenido del articulo2” 3,”Titulo del Articulo3”, “Contenido del articulo3” 4,”Titulo del Articulo4”, “Contenido del articulo4”
como pueden ver el archivo contiene en la primera fila los títulos de las columnas (deben omitir las puntuaciones, símbolos y acentos)
Otro aspecto importante que se aprecia es la columna guid que es el identificador único de cada registro. Este guid no tiene que ser un número, también puede ser una cadena de texto.
Configurar el módulo feeds para que se pueda realizar la importación de los archivos CSV
Una vez instalado el módulo feeds será necesario realizar algunas configuraciones para que todo funcione correctamente, esto lo hacemos en www.ejemplo.com/admin/build/feeds.
En ésta sección vamos a encontrar una lista de opciones que son:
Feed
Node import
OPML import
User import
Todas ellas aparecen desactivadas por defecto.
La opción que nos interesa en ente momento es Node import, por lo tanto hay que activarla haciendo clic en el checkbox de la derecha. Una vez activada esta opción podemos ver varios enlaces: Override, Export y Clone
Hacemos clic en Override para personalizar la importación y así ajustarla a nuestras necesidades.
feeds1
En la página que nos muestra a continuación podemos ver cuatro elementos configurables que son:
Basic settings
Fetcher
Parser
Processor
Como no quiero complicarlos con configuraciones complejas o enfocadas a otros asuntos solo vamos a tocar lo necesario.
Vemos que en la opción Processor aparecen dos enlaces (Settings y Mapping)
Hacemos clic en Settings y nos aparece una página donde elegimos el tipo de contenido que vamos a usar para almacenar los datos que provienen del archivo CSV (los tipos de contenido se configuran en www.ejemplo.com/admin/content/types). En este ejemplo vamos a dejarlo como Story, las demás opciones las dejamos como vienen por defecto.
feeds3
Ahora hacemos clic sobre Mapping. Esta parte es la mas importante ya que le decimos al módulo como debe tratar nuestro archivo CSV
En la columna Source vamos a colocar los títulos del archivo CSV que son: guid, titulo y cuerpo y en la columna Target vamos a elegir los campos del tipo de contenido Story donde se van a guardar nuestros datos.
El resultado será algo como esto:
feeds4
Importando el archivo CSV:
Para importar el archivo CSV vamos a www.ejemplo.com/import donde aparece el enlace www.ejemplo.com/import/node
El delimitador debe ser el símbolo coma, ya que fue el utilizado en este ejemplo.
Seleccionamos el archivo CSV y lo subimos a nuestro sitio web.
Esperamos a que se realice la importación y si todo va bien ya tendremos en nuestro sitio todos los registros que teníamos en el archivo CSV

Comentarios
Buen blog
Enviar un comentario nuevo