Crear un archivo CSV con tus productos y subirlo a PrestaShop

Aquellos que estéis navegando en las aguas del comercio electrónico y os hayáis decantado por el CMS de Ecommerce PrestaShop, puede que os hayáis encontrado con la dura tarea de subir cientos o miles de productos uno por uno desde vuestro panel de administración de la tienda.
Subir los productos a vuestra tienda puede ser una tarea interminable, si no disponéis de un archivo CSV que os proporcione el mayorista, claro.
Hoy vamos a aprender a crear un archivo CSV mediante un programa de hojas de cálculo como Excel, LibreOffice, OpenOffice o cualquiera que tengas a mano, y subirlo a nuestra tienda PrestaShop.
¿Qué son los archivos CSV?
Buena pregunta, pensaba que si habías llegado hasta aquí ya vendrías aprendido de casa (si es así, pasa al siguiente punto).
Los archivos CSV (Valores Separados por Comas, o Comma-Separated Values) son archivos que sirven para representar datos en forma de tabla de forma sencilla. Como su nombre indica, las columnas se separan por comas (o punto y coma, según el símbolo que usen en tu zona geográfica para separar decimales) y las filas se separan por saltos de línea.
Bueno, no te asustes, lo principal que tenemos que saber, es que gracias a estos archivos, podemos crear un listado de productos, con sus ID, nombre, imágenes, descripciones, y resto de características, para posteriormente subirlos todos a la vez a nuestra tienda PrestaShop, ahorrándonos bastante tiempo. Aunque nos tiraremos un buen rato creando nuestro archivo CSV, te aseguro que ese tiempo invertido valdrá su peso en oro.
Preparando datos para rellenar nuestro archivo CSV PrestaShop
Listado de nombres de los productos
Yo me voy a basar en un caso práctico que he realizado hace poco. Se trata de una web en la que se venden camisetas y distintos complementos.
Lo primero que hice fue pedir al cliente datos detallados sobre colores, tallas, precios, y demás detalles que tuviera que tener en cuenta de cara a las características de los productos. También recopilé las fotos de los productos (en este caso, una por producto) en carpetas separadas por categorías, por ejemplo “camisetas mujer”. Dentro de esta carpeta tenía las 200 imágenes correspondientes a los 200 productos que tenía que subir a la tienda online. Cada imagen tenía como nombre el nombre del producto, por ejemplo: “vikingo.jpg”.
Como no disponía de ningún archivo donde se listaran los nombres de los productos, con sus diferentes características, tuve que darle un poco al “coco” para hacer la tarea en el menor tiempo y al menor coste posible, aquí es donde el pensamiento abstracto hace acto de presencia… bueno y Internet con su basto aporte de conocimientos libres y gratuitos al alcance de todos.
Lo primero de todo, necesitaba esos 200 nombres dispuestos en una lista, en un archivo de texto. Navegando, o buceando por Internet encontré la solución: con la consola de comandos de Windows (o CMD) se puede crear un archivo .txt con los nombres de cada archivo de una carpeta determinada dispuestos en una columna.
Obtener una lista de los nombres de un grupo de archivos dentro de una carpeta
Primero tendremos todas nuestras fotos dentro de una carpeta que habremos nombrado de forma que la reconozcamos fácilmente.
Abrimos la consola de comandos, buscando desde el menú de Inicio de Windows, simplemente escribe “cmd” (sin comillas) y dale a enter.
Te aparecerá una pantalla como ésta (el recuadro rojo lo he puesto para tapar datos personales):
La consola de comandos (o Símbolo del sistema, como la llama Windows) se maneja a golpe de teclado, escribimos “cd..” (sin comillas) para retroceder un nivel a la carpeta de ámbito superior, y de nuevo “cd..” para situarnos en la carpeta raíz de nuestro disco duro (C:\). Ahora tenemos que navegar hasta la carpeta donde tenemos las imágenes, por eso es recomendable que la tengas en la raíz de tu sistema, con lo que simplemente escribiendo: “cd carpeta-fotografias”, nos situaríamos en la carpeta donde tenemos nuestras imágenes (obviamente, tu carpeta se llamará así o de forma diferente. Escribe el nombre de tu carpeta).
Muy importante: esta carpeta la tendrás que subir al servidor donde tengas alojada tu web, no cambies los nombres de las imágenes después de crear el archivo CSV, ya que no serviría para nada.
Una vez situados desde la consola de comandos en la carpeta donde tenemos las imágenes, escribimos en la consola: “dir/b>lista.txt” (siempre sin comillas). Con este simple paso se habrá creado un archivo llamado “lista.txt” con los nombres de tus fotografías (o cualquier tipo de archivo) en la carpeta especificada. Nos hemos ahorrado un buen rato “copiando y pegando” a mano, buen trabajo.
Ahora necesitamos ir rellenando los diferentes apartados de nuestro archivo CSV. Vamos a ver esos apartados.
Apartados de un archivo CSV de productos para PrestaShop
Puedes descargarte un archivo CSV de ejemplo, que te servirá como plantilla desde tu panel de administración de PrestaShop. Dirígete a Parámetros avanzados> Importar CSV. En esta ventana, a la derecha-abajo, encontrarás un apartado llamado: “DESCARGUE EJEMPLOS DE ARCHIVOS CSV”, descarga (click derecho, “Guardar enlace como…”) el “Archivo de ejemplo por productos”.
Ábrelo con tu programa de hojas de cálculo (si te pregunta algo, elige Unicode UTF-8 como codificación), verás algo así:
Vamos a ver los diferentes apartados, uno por uno:
– ID: es el número que identifica tu producto, déjalo en blanco si quieres que PrestaShop asigne los números automáticamente.
– Name: aquí tienes que escribir el nombre del producto.
– Categories: aquí escribe el nombre de las categorías, o mucho mejor, el ID que identifica a la categoría. Esto puedes verlo en tu panel de administración: Catálogo > Categorías. Puedes escribir únicamente la categoría específica (por ejemplo “camisetas mujer”), o las categorías padre y subcategorías (por ejemplo: “camisetas”, “camisetas mujer”). Con los ID, sería por ejemplo: “2,7”.
– Price tax excluded or Price tax included: escribe el precio de venta, yo lo pongo directamente con el IVA incluido, ya que luego puedes elegir esta opción.
– TAX Rules ID: escribe “1” si el precio ya tenía el IVA incluido, o “0” si no es así.
– Wholesale Price: precio de venta al por mayor, si tienes esta característica en tu tienda, escribe ese precio, si no, déjalo en blanco.
– On sale (0/1): ¿en oferta?. Escribe 1 para decir que sí, o 0 para decir que no.
– Discount amount: importe del descuento, si en la columna anterior pusiste “1”. Si no, déjala en blanco.
– Discount percent: porcentaje de descuento, lo mismo que antes pero en porcentajes.
– Discount from (yyyy-mm-dd): ¿desde qué fecha se activará el descuento?. Si no quieres aplicar descuentos déjalo en blanco.
– Discount to (yyyy-mm-dd): ¿hasta qué fecha quieres que esté activo el descuento?. Si no tienes descuentos, déjalo en blanco.
– Reference #: número de referencia de tu producto, si usas referencias rellénalo, si no puedes dejarlo en blanco.
– Supplier reference #: si tu proveedor tiene números de referencia para los productos, rellénalo, si no déjalo en blanco.
– Supplier: nombre del proveedor del producto, puedes dejarlo en blanco.
– Manufacturer: nombre del fabricante del producto, puedes dejarlo sin rellenar.
– EAN13: el número del código de barras de 13 dígitos si el producto es europeo, si no usas, déjalo en blanco.
– UPC: el número del código de barras si el producto es americano, si no déjalo en blanco.
– Ecotax: si tu producto está gravado por una ecotasa, indica aquí el importe. Si no, déjalo en blanco.
– Width: ancho del producto, normalmente en centímetros. Puedes dejarlo sin rellenar.
– Height: altura del producto, puedes dejarlo en blanco.
– Depth: profundidad de tu producto, puedes dejarlo en blanco.
– Weight: peso del producto, normalmente en kilos. Puedes dejarlo en blanco, estas especificaciones son de cara al cálculo de los costes de envío, si no tienes unos costes fijos.
– Quantity: cantidad de producto en stock. Casilla obligatoria.
– Minimal quantity: cantidad mínima de producto en stock para ser visualizado por los clientes. Normalmente se escribe “1”.
– Visibility: puedes elegir donde mostrar el producto en la tienda: en catálogo, en búsqueda, en ambos o en ninguno? Para catálogo, escribe: catalog, en búsqueda: search, en ambos: both y si no quieres que se muestre en ninguno: none. Puedes dejarlo en blanco para que tome los valores por defecto.
– Additional shipping cost: si el producto tiene un coste de envío adicional, si no puedes dejarlo sin rellenar.
– Unity: si se trata de un pack, para indicar el nombre de cada unidad que lo compone (ejemplo: “por caja”, o “por pack”). Puedes dejarlo sin rellenar.
– Unit price: aquí indicas el precio por artículo unitario contenido en el pack, puedes dejarlo en blanco.
– Short description: descripción corta del producto, en el siguiente punto te enseñaré un truco para no escribir demasiado, gracias a la lista que obtuvimos anteriormente con los nombres de los productos.
– Description: descripción larga del producto. Aquí tienes que ponerte las pilas, ya que una buena descripción es buena tanto para SEO como para el cliente. Puedes usar el truco que te mencioné antes, con un poco de imaginación, ahora lo veremos.
– Tags (x,y,z…): etiquetas del producto, puedes dejarlo en blanco.
– Meta title: meta título, de cara al SEO es recomendable rellenar este apartado, puedes hacerlo con la “descripción corta” por ejemplo.
– Meta keywords: palabras clave del producto de cara a SEO, aunque actualmente no afectan de ninguna manera al posicionamiento web este tipo de keywords, puedes dejarlo en blanco.
– Meta description: la descripción que se muestra en los resultados de búsqueda de los buscadores web como Google. Puedes poner un trozo de la “descripción larga”, sin pasarte de los 180 caracteres que admite Google.
– URL rewritten: solo lo usaremos si queremos especificar al producto una URL distinta de la que Prestashop le asignará automáticamente. Puedes dejarlo en blanco.
– Text when in stock: texto que se muestra en la tienda cuando el artículo está disponible para comprar, puedes dejarlo en blanco.
– Text when backorder allowed: texto que aparecerá cuando el artículo esté fuera de stock, no hace falta rellenarlo.
– Available for order (0 = No, 1 = Yes): disponible para pedidos, si el artículo quieres que esté disponible, escribe “1”, si no, “0”.
– Product available date: fecha en la que quieres que el producto esté disponible, no hace falta rellenarlo.
– Product creation date: fecha de creación de la ficha de producto, pon la fecha actual en formato año-mes-día.
– Show price (0 = No, 1 = Yes): mostrar precio, si quieres mostrarlo escribe “1”, si no, “0”.
– Image URLs (x,y,z…): url de cada imagen, aquí tendrás que escribir la URL que dirige a la carpeta donde tienes alojadas las fotos y a cada foto en particular. Por ejemplo: “http://mitienda.com/fotos/camisetas/mujer/vikingo.jpg”. Luego te mostraré un truco para rellenar esto automáticamente.
– Delete existing images (0 = No, 1 = Yes): si quieres que se borren las imágenes que subiste en otra ocasión de el mismo producto, puedes dejarlo en blanco.
– Feature(Name:Value:Position): características del producto, indicando nombre:valor:posición, y pudiendo poner varias características separando por comas, yo prefiero subirlas posteriormente en otro archivo CSV, que ya tenemos bastante lío. Lo explicaremos en otro artículo de nuestro blog. No hace falta rellenarlo por ahora, aunque si tus productos tienen características como color o talla, deberías rellenarlo o crear posteriormente un archivo CSV con las características y subirlo a tu instalación de PrestaShop.
– Available online only (0 = No, 1 = Yes): si marcamos con un “1” estamos diciendo que el producto solo se vende online. No es necesario rellenarlo.
– Condition: condición del producto, puede ser nuevo, usado o reciclado, lo indicaremos escribiendo “new”, “used” o “refurbished” respectivamente. No es necesario rellenarlo, aparecería por defecto como “nuevo”.
– Customizable (0 = No, 1 = Yes): hace referencia a si el producto se puede personalizar o no, indicaremos “0” para “no”, y “1” para “sí”. Puedes dejarlo en blanco.
– Uploadable files (0 = No, 1 = Yes): por si quieres que se pueda añadir ficheros adjuntos al producto. Déjalo en blanco si no es el caso.
– Text fields (0 = No, 1 = Yes): para mostrar un campo de texto en el que el cliente puede escribir. En blanco por defecto.
– Out of stock: por si quieres permitir pedidos aunque estén fuera de stock. Puedes dejarlo en blanco.
– ID / Name of shop: si tienes multitienda, para indicar el nombre de la tienda que vende el producto.
– Advanced stock management: permitir el control de existencias avanzado para este producto en concreto. Puedes dejarlo sin rellenar.
– Depends On Stock: aquí puedes indicar la cantidad exacta de producto, si estás trabajando con la gestión avanzada de producto.
– Warehouse: aquí escribiríamos el ID que identifica el almacén que gestiona la cantidad de este producto. Puede dejarse en blanco.
Una vez rellenado para un producto, para automatizar un poco la tarea de rellenar los siguientes campos os vamos a mostrar una herramienta con la que no te hará falta escribir ni una línea de código.
Por ejemplo, para escribir los nombres de todos los productos en la casilla correspondiente del archivo CSV.
Como tenemos la lista de nombres obtenida de la carpeta con las fotografías, únicamente nos haría falta eliminar la extensión de archivo “.jpg”, y tal vez escribir la primera letra en mayúscula, o añadir algo de texto por delante o por detrás de los nombres de nuestros productos.
Seguimos con el ejemplo de las camisetas, tengo los nombres de cada camiseta en particular: “vikingo”, “romano”, “elegante”… Me gustaría nombrar a mis productos como: “Camiseta Vikingo”, “Camiseta Romano”, etc. Para esto tenemos una herramienta online muy útil: TextMechanic.
Primero vamos a eliminar la extensión “.jpg”. Nos dirigimos a la herramienta “Find and replace text” (Buscar y reemplazar texto).
Introducimos nuestra lista de nombres de producto en la tercera casilla, la de más abajo. En la primera escribimos “.jpg” y en la segunda nada. Le damos al botón “Find and replace text”, y en la tercera casilla tendremos nuestro texto sin la extensión de archivo. Lo copiamos.
Ahora queremos añadir delante de cada nombre la coletilla “Camiseta”. Nos vamos a la herramienta “Add prefix/suffix into line”. En la primera casilla pegamos nuestra lista de nombres, en la casilla “prefix” escribimos lo que queremos que aparezca delante de cada palabra, dejad un espacio al final para que sirva de separación. En la casilla “suffix” podemos escribir algo que queramos que aparezca detrás de cada palabra, por ejemplo nuestra marca. Le damos al botón “Add Prefix and/or Suffix” y en la última casilla obtendremos nuestro texto.
Con esta lista de nombres, podemos irnos a nuestro archivo CSV y rellenar los campos “Nombre”, “Descripción corta” u otros. Jugando con la herramienta TextMechanic podemos rellenar otros campos que nos interesen, tiene muchas funcionalidades. Por ejemplo la casilla de URLs de cada imagen, utilizaremos la herramienta de añadir sufijo, escribiendo “http://nuestratienda.com/carpeta-donde-estan-las-imagenes/” como prefijo y “.jpg” como sufijo a cada nombre de producto/imagen.
Subir el archivo CSV a nuestra tienda PrestaShop
Primero deberemos subir la carpeta donde tenemos las imágenes de los productos a nuestro servidor o hosting web. Según donde esté esa carpeta, la casilla de URLs de imágenes se rellenará de una forma u otra.
Una vez tenemos nuestro archivo CSV preparado y las imágenes en nuestro servidor, vamos al panel de administración de nuestra tienda PrestaShop, y seguimos la ruta Parámetros avanzados > Importar CSV.
En el desplegable “¿Qué tipo de entidad desea importar” elegimos “Productos”. Y en el apartado “Elige un archivo CSV a importar”, seleccionamos nuestro archivo CSV.
Dejamos el resto de opciones como vienen por defecto, si vuestro archivo CSV viene en codificación ISO 8859-1, tendréis que activar esta casilla, pero si no es el caso no hace falta tocar nada más. Le damos al botón “Próximo Paso”.
Revisamos que las columnas correspondan a las de nuestro archivo, dejamos la opción “Lineas a saltar” en 1, y si está todo correcto le damos al botón “Importar datos CSV”, después de un rato trabajando (según el tamaño de tu archivo) ya lo habrás conseguido, tendrás todos tus productos publicados en tu tienda PrestaShop.