Documentación del módulo PrestaExport

Introducción

PrestaExport es un módulo para PrestaShop que permite exportar el catálogo de productos (y también las categorías) a un archivo CSV o XML, adaptable a múltiples configuraciones según necesidades específicas del feed de datos a exportar.

Video de presentación

Configuración principal

Aquí se define la licencia y los límites globales del módulo.

Configuración principal

  • Clave de licencia: La encuentras en tú área de cliente una vez realizada la compra del módulo
  • Directorio de salida: Ubicación donde se exportará el archivo físico después de la generación esta ubicación es configurable
  • Límite de tiempo: 30s por defecto
  • Filas por lote: esta definido 99999 dejarlo por defecto

Pestaña «Presets»

Pestaña de presets

Desde aquí se listan, crean, importan o eliminan los presets. Cada línea del listado muestra: ID, nombre, clave secreta, nombre del archivo generado, tamaño, fecha/hora de la última generación y accesos directos para descargar, editar o eliminar.

Creación / Edición de un preset

Formulario de creación de presets – Paso 1

El formulario está dividido en dos columnas. A continuación se detalla todo el contenido tal y como aparece en la interfaz:

1. Parámetros básicos

Nombre Definimos el nombre para el preset.
Clave secreta Valor opcional usado como token de seguridad al lanzar el preset vía cron.
Máximo Número máximo de veces que el archivo será generado por cron en el periodo de tiempo indicado. El periodo se expresa en horas.  0 = desactivar límite
Archivo de salida Nombre (con extensión) del archivo que se creará, p. ej. prestaexport.csv se debe de establecer diferente por cada preset.
Tipo Formato del archivo: CSV o XML.
Delimitador Carácter que separa las columnas en un CSV (coma, punto y coma, tabulador…).
Encapsulador Carácter que encierra cada valor cuando contiene el delimitador.

2. Columnas a exportar

Marca las casillas de las columnas que quieras incluir. Las que aparecen en negrita son obligatorias:

  • ID_CATEGORY_PATH: Exporta toda la ruta id_category de los niveles de categoría del producto basado en su categoría principal
  • CATEGORY_PATH: Exporta todos los nombres de categoría del productos según su niveles que tenga basado en su categoría principal
  • IDS_CATEGORIES: Exporta todos id_category en los que se encuentra el productos asociado
  • ID_CATEGORY_DEFAULT: Exporta id_cateogry de su categoría principal
  • ID_MANUFACTURER: Id de la marca
  • MANUFACTURER: Nombre de la marca
  • ID_SUPPLIER: Id del proveedor
  • SUPPLIER: Nombre del Proveedor
  • ID_PRODUCT: Id de producto
  • ID_PRODUCT_ATTRIBUTE: Id atributo
  • PRODUCT: Nombre del producto
  • REFERENCE: Referencia pública del producto
  • REFERENCE_PARENT: Referencia padre del producto con combinaciones
  • SUPPLIER_REFERENCE: Referencia del proveedor
  • WHOLESALE_PRICE: Precio de coste sin IVA
  • PRICE  (puede aplicarse un porcentaje) PVP sin IVA y sin ofertas aplicadas
  • PRICE_T0  (precio específico)
  • WHOLESALE_PRICE_PARENT: Precio coste del padre
  • PRICE_PARENT: PVP sin IVA del precio padre de un producto con combinaciones
  • PRICE_IMPACT: Impacto de precio en la combinación
  • TAX: Impuesto
  • WEIGHT: Peso
  • STOCK – opciones: Booleano / Cantidad + campo Max para limitar la cifra mostrada.: Unidades del producto
  • EAN13
  • SHORT_DESCRIPTION: Descripción corta con HTML
  • DESCRIPTION: Descripción con HTML
  • SHORT_DESCRIPTION_PLAINTEXT: Descripción corta en texto plano
  • DESCRIPTION_PLAINTEXT: Descripción en texto plano
  • LINK_REWRITE (URL friendly): Url amigable
  • META_TITLE: Meta título
  • META_DESCRIPTION: Meta descripción
  • META_KEYWORDS: Meta keywords
  • TAGS: Etiquetas
  • FEATURES: Añade una columna y exporta sus características y valores
  • IMAGES: exporta las imágenes
  • IMAGES_COMB: Imágenes de su combinación
  • IMAGES_NOCOMB: Imágenes no combinadas
  • PRODUCT_URL: URL del producto
  • WIDTH / HEIGHT / DEPTH: Exporta las alto, ancho y largo
  • CONDITION: Condición del producto
  • IDS_ACCESSORIES: Exporta los id_producto de los productos asociados
  • ACTIVE: Exporta el estado del producto
  • DATE_ADD / DATE_UPD: la fecha de creación o actualización
  • MINIMAL_QUANTITY: Exporta la cantidad mínima de compra
  • DEFAULT_ON : Combinación por defecto

3. Precios por grupos de clientes

Permite exportar los precio del grupo de cliente que selecciones este valor si tomará las ofertas y precios específicos que estén definidas, esto son los grupos por defecto de PrestaShop, te permite cambiar de forma porcentual el precio de exportación

  • Visitante
  • Invitado
  • Cliente

Se añadirá una columna adicional por cada grupo marcado. Estos precios incluyen promociones, mientras que PRICE no.

Si alguno de estos precios es idéntico a PRICE, deja el campo en blanco o escoge la opción “No”.

4. Precio proveedor

  • Casilla Incluir columna especial precio proveedor (añade el coste del proveedor si existe).

5. Características y Atributos

El módulo lista dinámicamente todas las Características y todos los Atributos configurados en tu tienda. Márcalos para que cada uno se exporte en su propia columna.

6. Parámetros de la columna derecha

Sección Opciones
Ordenar por Lista desplegable con los campos por los que se ordenará el resultado (por defecto: id_category, id_product).
Máximo de categorías Profundidad máxima para la ruta de categoría. 0 = sin límite.
Columnas de ruta de categoría
  • Una columna solamente especificando el delimitador.
  • Una columna por categoría (una columna por nivel hasta la ruta más larga).
Máximo de imágenes Número máximo de imágenes exportadas por producto.
Columnas de imagen
  • Una sola columna (URLs separadas por coma).
  • Dos columnas: imagen principal + resto (separadas por coma).
  • Una columna por imagen.
Tipo de imagen Lista de tipos de imagen dados de alta en la tienda (o Imagen original y todas las redimenciones que tenga definida la tienda). Importante!! si queremos exportar la ruta completa de la imagen deberemos de seleccionar el tipo de imagen de PrestaShop que no sea la original y en input de abajo añadir el dominio de la tienda, en el video se explica como hacerlo
Filtro de productos
  • Productos habilitados / deshabilitados
  • De categorías habilitadas / deshabilitadas
  • Productos huérfanos (sin categoría por defecto)
Restricciones
  • Excluir productos con código EAN vacío
  • Evitar códigos EAN repetidos
  • Excluir productos con stock inferior a N
  • Excluir productos sin stock y sin actualizarse desde hace N días
Restricciones personalizadas Enlace + Añadir restricción para introducir cualquier condición SQL adicional (precio > X, fecha alta >= Y, etc.).
Filtro de categorías | fabricantes | proveedores Botones /No para limitar la exportación a un subconjunto.
Formato numérico Patrón base para números (1000.00, 1 000,00, etc.).
Decimales Cuántos decimales usar para precios, impuestos, pesos y medidas (0‑4). Opción «Indiferente» para conservar los existentes.
Más opciones
  • Precios de venta con impuestos incluidos
  • Auto‑rellenar descripciones vacías
  • Reemplazar caracteres de salto de línea con espacios solos
  • Reemplazar dobles espacios con espacios solos
  • Usar Tidy para reparar el HTML en las descripciones
  • Quitar enlaces de las descripciones
  • Incluir todos los productos asociados a la tienda
Cada opción cuenta con radios /No (por defecto «No»).
Columnas adicionales Enlace + Añadir columna para valores fijos.
Campos adicionales Enlace + Añadir campo para incorporar columnas provenientes de otras tablas de productos (product, product_shop, product_lang).
Relaciones adicionales Enlace + Añadir relación para adjuntar datos de tablas relacionadas (por ejemplo, specific_price o tablas personalizadas).

Formulario de creación de presets – Paso 2

En el paso siguiente podrás renombrar y reordenar todas las columnas antes de generar el archivo.

Lista de modificadores admitidos:

PONER EN MAYÚSCULAS

  • upper
  • uppercase
  • toupper
  • strtoupper
  • strtouppercase

PONER EN MINÚSCULAS

  • lower
  • lowercase
  • tolower
  • strtolower
  • strtolowercase

PRIMERA LETRA EN MAYÚSCULA

  • ucfirst

PRIMERA LETRA DE CADA PALABRA EN MAYÚSCULA

  • ucwords

REEMPLAZAR CADENA

  • replace
  • strreplace
  • str_replace

CONCATENAR CON SEPARADOR

  • catws
  • concatws
  • cat_ws
  • concat_ws

CONCATENAR

  • cat
  • concat

ANTEPONER CON SEPARADOR

  • befws
  • beforews
  • bef_ws
  • before_ws

ANTEPONER

  • bef
  • before

Cómo usar los modificadores

  • Puedes aplicar uno o varios modificadores separándolos con |.
  • Para pasarle parámetros a un modificador, se usa : como separador.
  • Se pueden usar variables con las keys predefinidas de los campos.
  • El carácter de escape es \\ para representar | o : literalmente.

Ejemplos:

  • Primera letra en mayúsculas y resto en minúsculas:
    strtolower|ucfirst
  • Reemplazar ; por |:
    str_replace:;:\\|
  • Concatenar información:
    concat_ws:<br />:Ancho\\: :$WIDTH:Alto\\: :$HEIGHT:Profundidad\\: :$DEPTH

Pestaña «Registro de actividad»

Registro de actividad

Muestra cronológicamente peticiones de generación, descargas, duración de cada proceso, número de filas y cualquier error detectado.

Pestaña «Información»

Pestaña información

Incluye ejemplos de URLs cron y explica dónde encontrar el enlace de descarga de cada preset.

También indica cómo automatizar el envío del archivo a un destino externo.

Para establecer la tarea programada se elige el preset que se vaya a crear la tarea y nos muestra la url a la derecha, tenemos que definirla el nuestro hosting.

Por ejemplo si queremos que se genere el feed 3 veces al día estableceremos la tarea cron de la siguiente forma */5 8,14,20 * * *, en el video se explica visualmente como crearla.

Si queremos obtener una URL de generación directa (No recomendable) habría que poner a la URL que nos proporciona para el cron añadirle al final &eco=0

Si necesitas obtener el feed en diferentes idiomas tendrías que ponerle a la URL del cron &lang=en para el ingles o si lo sustituyes por el código ISO del idioma que tengas en tu tienda lo exportaría.

Si quieres especificar la moneda de exportación habría que añadir al final &cy=USD o el código ISO de la moneda deseada.

Para obtener la URL de descarga del archivo generado por el cron se haría de la siguiente forma https:\\dominio.com\modules\prestaexport\get-file.php?f=nombresalidad.csv se sustituye por el nombre que le hayamos dado en el archivo de salida en el preset