Módulo Export Import Categories para Magento 2

71,52 € 58,15 €
Instalacja COMPOSER
M2-EXPORT-IMPORT-CATEGORIES
Przewidywana dostawa: Wednesday, 20 May - Thursday, 21 May
Zamów w ciągu 8 h 12 min, a wyślemy jeszcze dzisiaj.
PayPal PayPal
Przelew Przelew

Kowal_ExportImportCategories es un módulo Magento 2 que permite exportar e importar atributos de categorías en formato CSV teniendo en cuenta el store view seleccionado. La extensión se ha preparado para tiendas que trabajan con varias versiones de idioma, múltiples vistas de tienda o que necesitan actualizar masivamente los datos de categorías sin editar manualmente cada categoría en el panel de administración.

El módulo permite exportar categorías a un archivo CSV, modificar los atributos seleccionados fuera de Magento y, a continuación, volver a importar los datos en modo de actualización de categorías existentes o de creación de nuevas categorías. La importación funciona sobre el store view indicado, lo que permite preparar cómodamente traducciones de nombres, descripciones, meta tags, URL y otros atributos de categoría.

Para quién es este módulo

El módulo está destinado a:

  • tiendas Magento 2 con varias versiones de idioma,
  • equipos de contenido que trabajan con hojas CSV,
  • agencias que despliegan catálogos de categorías entre entornos,
  • administradores que necesitan actualizar masivamente nombres, descripciones, metadatos y URL de categorías,
  • tiendas que tienen atributos de categoría propios y quieren gestionarlos de forma masiva,
  • proyectos en los que los datos de categorías se preparan fuera de Magento, por ejemplo, por traductores, el departamento SEO o un sistema PIM.

Funciones principales

  • Exportación de categorías a CSV para el store view seleccionado.
  • Importación de categorías desde CSV para el store view seleccionado.
  • Modo de actualización de categorías existentes: update.
  • Modo de creación de nuevas categorías: insert.
  • Selección de atributos exportados a CSV.
  • Selección de atributos importados desde CSV.
  • Columnas de sistema automáticas necesarias para identificar categorías.
  • Validación de encabezados CSV antes de la importación.
  • Validación de nombres de columnas frente a los atributos reales de categorías Magento.
  • Compatibilidad con atributos de categoría propios añadidos en Magento.
  • Compatibilidad con valores de texto para todos los atributos.
  • Compatibilidad con atributos select y multiselect por labels de opción.
  • Posibilidad de trabajar con valores visibles en el store view o solo con sobrescrituras del store view.
  • Modo dry-run, es decir, validación completa de la importación sin guardar datos.
  • Política de valores vacíos.
  • Estrategias de gestión de url_key.
  • Creación opcional de permanent redirect al cambiar la URL de la categoría.
  • Compatibilidad con rutas a imágenes de categorías.
  • Batch processing para archivos más grandes.
  • Políticas de gestión de errores.
  • Informe de importación en CSV.
  • Historial de importaciones en el panel de administración.

Exportación de categorías

La exportación permite generar un archivo CSV con categorías para el store view seleccionado. El administrador elige la vista de tienda y los atributos de categoría que deben incluirse en el archivo. El módulo añade automáticamente las columnas de sistema necesarias para identificar las categorías y conservar la estructura del árbol.

La exportación se puede utilizar para:

  • preparar traducciones de categorías,
  • auditar datos de categorías,
  • corregir masivamente metadatos SEO,
  • comparar valores entre store views,
  • preparar un archivo para importarlo en el mismo entorno o en otro,
  • archivar los datos actuales de categorías antes de realizar cambios.

Alcance de la exportación

La exportación incluye atributos de categorías. El módulo no exporta productos asignados a categorías. Tampoco realiza operaciones de eliminación de categorías.

El administrador puede seleccionar:

  • Store View,
  • categoría inicial,
  • atributos para exportar,
  • separador CSV,
  • modo de valores de store view.

Modos de valores de store view en la exportación

El módulo admite dos modos de exportación de valores:

  • resolved_value - se exporta el valor visible en un store view determinado, es decir, teniendo en cuenta el fallback de Magento al valor predeterminado.
  • store_override_only - se exporta solo el valor sobrescrito directamente para un store view determinado; si el valor se hereda, la celda CSV queda vacía.

El modo resolved_value resulta práctico para el trabajo editorial, porque muestra el valor real visible en la tienda. El modo store_override_only es útil cuando se necesita controlar únicamente traducciones o sobrescrituras específicas de una vista de tienda determinada.

Importación de categorías

La importación permite cargar un archivo CSV y guardar los atributos de categoría seleccionados para el store view indicado. El store view elegido en el formulario de importación es prioritario, y la columna store_view_code del CSV se utiliza para validar si el archivo coincide con la vista de tienda seleccionada.

La importación se puede utilizar para:

  • traducir categorías,
  • actualizar nombres de categorías,
  • actualizar descripciones de categorías,
  • actualizar meta tags,
  • actualizar url_key,
  • crear nuevas categorías,
  • importar atributos de categoría propios,
  • actualizar atributos de menú y visibilidad,
  • importar rutas de imágenes de categorías.

Modo update

El modo update actualiza categorías existentes. El módulo no crea nuevas categorías en este modo.

La categoría se busca principalmente por entity_id. Si entity_id no está disponible, el módulo puede utilizar category_path, siempre que la ruta identifique de forma inequívoca una única categoría.

El modo update se recomienda para:

  • traducciones de categorías entre store views,
  • correcciones SEO,
  • actualizaciones de descripciones,
  • actualizaciones de nombres,
  • cambios de valores de atributos de categoría propios.

Ejemplo de escenario de traducción:

  1. Exportación de categorías desde el store view base.
  2. Cambio de store_view_code en el CSV al código del store view de destino.
  3. Conservación de los mismos entity_id.
  4. Completar traducciones en las columnas name, description, meta_title, meta_description.
  5. Importación en modo update para el store view de destino.

En esta variante, el módulo guarda los atributos seleccionados en el contexto del store_id numérico elegido en el formulario de importación.

Modo insert

El modo insert crea nuevas categorías. En este modo, entity_id no es obligatorio, porque Magento lo asigna automáticamente.

La nueva categoría debe tener indicado el padre mediante:

  • parent_entity_id,
  • o parent_path.

El modo insert se recomienda para:

  • crear nuevas estructuras de categorías,
  • mover el árbol de categorías entre entornos,
  • preparar categorías en una hoja CSV,
  • crear categorías a partir de datos externos.

Si la importación contiene tanto el padre como el hijo, los datos deben estar ordenados desde las categorías de nivel superior hasta las categorías de nivel inferior.

Formato CSV

La primera fila del archivo CSV debe contener los encabezados de columna. Las columnas se dividen en:

  • columnas de sistema,
  • columnas de atributos de categoría.

Las columnas de atributos deben corresponder a los códigos de atributos Magento, por ejemplo:

  • name,
  • url_key,
  • description,
  • meta_title,
  • meta_description,
  • is_active,
  • include_in_menu.

Columnas de sistema

El módulo utiliza las siguientes columnas de sistema:

  • store_view_code,
  • entity_id,
  • parent_entity_id,
  • category_path,
  • parent_path,
  • level,
  • position,
  • attribute_set_id.

Las columnas de sistema no se tratan como atributos EAV. Sirven para identificar categorías, validar el store view y reconstruir la estructura del árbol.

Ejemplo de CSV para actualización

store_view_code,entity_id,category_path,name,url_key,is_active,include_in_menu,meta_titlepl,13,Default Category/Gear/Bags,Torby,torby,1,1,Torbypl,14,Default Category/Gear/Fitness Equipment,Sprzet fitness,sprzet-fitness,1,1,Sprzet fitness

Ejemplo de CSV para crear categorías

store_view_code,parent_entity_id,parent_path,category_path,name,url_key,is_active,include_in_menudefault,12,Default Category/Gear,Default Category/Gear/Helmets,Helmets,helmets,1,1default,12,Default Category/Gear,Default Category/Gear/Gloves,Gloves,gloves,1,1

Trabajo con atributos de texto

El módulo guarda los valores en CSV como texto. Gracias a ello, el archivo se puede editar en una hoja de cálculo, enviar a un traductor o preparar automáticamente en un sistema externo.

Para los atributos de tipo select y multiselect, el módulo trabaja con labels de opción, no con los ID técnicos de opción. Esto significa que en el CSV se muestran valores legibles, como Products only, Position o Price.

Para multiselect, varios valores se separan con el separador |.

Ejemplo:

store_view_code,entity_id,category_path,display_mode,available_sort_by,default_sort_bydefault,13,Default Category/Gear/Bags,Products only,Position|Product Name|Price,Position

Si el label de la opción no existe o no es inequívoco, la importación mostrará un error de validación.

Política de valores vacíos

Durante la importación, el administrador elige cómo interpretar las celdas CSV vacías:

  • skip_empty - una celda vacía no cambia el valor existente.
  • clear_value - una celda vacía limpia el valor del atributo para el store view seleccionado.
  • use_default - una celda vacía elimina la sobrescritura del store view y permite que Magento utilice el valor predeterminado.

De forma predeterminada, la variante recomendada para actualizaciones es skip_empty, porque limita el riesgo de borrar datos accidentalmente.

Gestión de URL de categorías

El módulo permite configurar la estrategia de gestión de url_key:

  • use_csv_value - utiliza el valor del CSV.
  • generate_from_name - genera url_key a partir del atributo name.
  • keep_existing - en modo update, conserva el url_key actual.
  • magento_default - deja la gestión de URL al mecanismo estándar de Magento.

El administrador también puede decidir si al cambiar url_key se deben crear permanent redirects.

Esta configuración es especialmente importante en las traducciones, porque distintas tiendas pueden aplicar estrategias diferentes:

  • URL traducidas para cada idioma,
  • URL compartidas entre versiones de idioma,
  • URL generadas automáticamente a partir de los nombres de categorías,
  • URL SEO gestionadas manualmente.

Imágenes de categorías

El módulo puede importar atributos de imágenes de categorías si se seleccionan las columnas correspondientes para la importación.

Directorio fuente predeterminado:

pub/media/import/categories

En el CSV se indica una ruta de texto relativa a este directorio, por ejemplo:

gear/bags.jpg

El módulo valida la existencia del archivo y la extensión. Se admiten formatos gráficos seguros, como:

  • jpg,
  • jpeg,
  • png,
  • webp,
  • gif.

Modo dry-run

El modo dry-run permite ejecutar la validación de la importación sin guardar datos en Magento.

En este modo, el módulo:

  • lee el CSV,
  • valida los encabezados,
  • valida el store view,
  • comprueba la existencia de categorías o padres,
  • comprueba los atributos,
  • mapea valores select y multiselect,
  • comprueba las imágenes,
  • genera un informe de errores y advertencias,
  • no guarda categorías.

Es el primer paso recomendado antes de cualquier importación de mayor tamaño.

Batch processing

La importación funciona por lotes. El tamaño del batch se puede configurar en el formulario de importación.

Valor predeterminado:

100 wierszy

El batch processing reduce el riesgo de timeouts y de consumo excesivo de memoria con archivos más grandes.

Política de errores

El módulo admite tres variantes de comportamiento ante errores:

  • skip_invalid_rows - las filas incorrectas se omiten y las correctas se siguen importando.
  • stop_on_first_error - la importación se detiene tras el primer error.
  • all_or_nothing - si cualquier fila contiene un error, los datos no se guardan.

La variante recomendada para importaciones grandes es skip_invalid_rows, porque permite procesar los datos correctos y obtener un informe de problemas para las filas restantes.

Informes e historial de importaciones

Después de la importación, el módulo genera un informe CSV que contiene:

  • número de fila,
  • identificador de categoría,
  • estado,
  • mensaje,
  • lista de atributos modificados.

El historial de importaciones está disponible en el panel de administración. El administrador puede comprobar:

  • fecha de importación,
  • usuario administrador,
  • store view,
  • modo de importación,
  • nombre del archivo,
  • número de filas,
  • número de éxitos,
  • número de errores,
  • información sobre si la importación se ejecutó como dry-run,
  • descargar el informe de importación.

Seguridad

El módulo utiliza ACL Magento y añade permisos independientes para la exportación, la importación y el historial de importaciones.

La importación está protegida mediante:

  • validación de encabezados,
  • validación de códigos de atributos,
  • validación de store view,
  • validación de columnas obligatorias,
  • validación de tipos de valores,
  • validación de labels de opciones,
  • validación de archivos de imagen,
  • notificación de errores por fila.

El módulo no elimina categorías ni importa productos asignados a categorías.

Usos habituales

Traducciones de categorías

Exportas categorías desde el store view base, completas las traducciones en el CSV, cambias store_view_code al código del store view de destino e importas los datos en modo update.

Actualización SEO masiva

Exportas los atributos meta_title, meta_description, url_key, los editas en CSV e importas solo las columnas seleccionadas.

Creación de una nueva estructura de categorías

Preparas un archivo CSV con category_path, parent_path, name y otros atributos necesarios, y luego lo importas en modo insert.

Actualización de atributos de categoría propios

Si la tienda tiene atributos de categoría propios, el módulo los obtiene dinámicamente desde EAV y permite seleccionarlos tanto en la exportación como en la importación.

Ubicación en el panel Magento

Después de la instalación, el módulo está disponible en:

System > Data Transfer > Export/Import Categories

Vistas disponibles:

  • Export Categories,
  • Import Categories,
  • Import History.

Instrucciones de instalación y configuración del módulo Kowal_ExportImportCategories

Este documento describe la instalación, configuración y uso del módulo Kowal_ExportImportCategories para Magento 2. La guía incluye información del archivo README.md y las funciones implementadas en el módulo.

Requisitos

  • Magento 2.
  • PHP compatible con la instalación de Magento, se recomienda PHP 8.1 o superior.
  • Acceso a CLI Magento.
  • Acceso a Composer.
  • Permisos de administrador Magento.
  • Acceso al repositorio del módulo.
  • Para la importación de imágenes: posibilidad de colocar archivos en el directorio pub/media/import/categories.

Instalación mediante Composer

El módulo está disponible a través del repositorio Composer.

1. Añade el repositorio Composer

composer config repositories.export.import.categories vcs https://github.com/kowalco/export-import-categories

2. Añade el token de acceso al repositorio privado de GitHub

Si el repositorio es privado, configura el token de GitHub:

composer config --global --auth github-oauth.github.com 

Sustituye por tu propio token de acceso.

3. Instala el módulo

composer require kowal/module-export-import-categories

4. Activa el módulo en Magento

bin/magento module:enable Kowal_ExportImportCategories

5. Ejecuta la actualización de Magento

bin/magento setup:upgrade

6. Limpia la caché

bin/magento cache:flush

7. Opcionalmente, ejecuta la compilación DI

En entornos de producción o en modo production:

bin/magento setup:di:compile

8. Opcionalmente, despliega los recursos estáticos

Si el entorno lo requiere:

bin/magento setup:static-content:deploybin/magento cache:flush

Instalación manual en app/code

Como alternativa, el módulo se puede colocar manualmente en el directorio:

app/code/Kowal/ExportImportCategories

Después de copiar los archivos, ejecuta:

bin/magento module:enable Kowal_ExportImportCategoriesbin/magento setup:upgradebin/magento cache:flush

En modo production, ejecuta también:

bin/magento setup:di:compile

Comprobación de la instalación

Después de la instalación, comprueba si el módulo está activo:

bin/magento module:status Kowal_ExportImportCategories

El módulo debería aparecer en la lista de módulos activos.

En el panel de administración, ve a:

System > Data Transfer > Export/Import Categories

Deberían mostrarse tres opciones:

  • Export Categories,
  • Import Categories,
  • Import History.

Permisos ACL

El módulo añade permisos administrativos independientes:

  • acceso a la sección principal Export/Import Categories,
  • exportación de categorías,
  • importación de categorías,
  • historial de importaciones.

Si el usuario administrador no ve el menú del módulo, comprueba el rol de usuario en:

System > Permissions > User Roles

A continuación, asigna los permisos adecuados para los recursos del módulo.

Ubicación del módulo en el panel

El módulo está disponible en:

System > Data Transfer > Export/Import Categories

Vistas:

  • Export Categories - exportación de categorías a CSV.
  • Import Categories - importación de categorías desde CSV.
  • Import History - historial de importaciones e informes.

Configuración de la exportación

La vista de exportación permite generar un archivo CSV con categorías.

Campos de exportación

Store View

Selecciona el store view desde el que se leerán los valores de atributos de categorías.

Si seleccionas un store view de idioma, la exportación puede contener valores específicos de ese store view o valores heredados del scope predeterminado, según el modo de valores.

Start Category ID

Campo opcional que permite limitar la exportación a una categoría seleccionada y su subárbol.

Si el campo se deja vacío, el módulo exporta las categorías desde la root category del store view seleccionado.

Store View Value Mode

Define cómo exportar valores dependientes del store view.

Variantes disponibles:

  • resolved_value,
  • store_override_only.

resolved_value exporta el valor visible en el store view seleccionado tras aplicar el fallback de Magento.

store_override_only exporta solo el valor sobrescrito para el store view seleccionado. Si el valor se hereda del default scope, la celda CSV estará vacía.

CSV Delimiter

Separador CSV. Por defecto:

,

Se puede utilizar otro separador si el archivo se va a editar en una herramienta que requiera, por ejemplo, punto y coma.

Attributes

Lista de atributos de categoría disponibles en Magento.

El módulo obtiene los atributos dinámicamente desde EAV, por lo que en la lista también pueden aparecer atributos de categoría propios añadidos en el proyecto.

Las columnas de sistema se añaden automáticamente y no es necesario seleccionarlas.

Columnas de sistema en la exportación

La exportación siempre debería contener columnas de sistema:

  • store_view_code,
  • entity_id,
  • parent_entity_id,
  • category_path,
  • parent_path,
  • level,
  • position,
  • attribute_set_id.

Estas columnas sirven para identificar categorías, validar el store view y gestionar la estructura del árbol.

Configuración de la importación

La vista de importación permite cargar CSV y guardar datos de categorías.

Campos de importación

Store View

Selecciona el store view en el que se guardarán los valores.

Este campo determina el store_id numérico utilizado al guardar en las tablas Magento.

La columna store_view_code del CSV no se convierte directamente en store_id. Se utiliza para validar si el archivo corresponde al store view seleccionado.

Ejemplo:

  • en el formulario seleccionas un store view con store_id = 1,
  • en el CSV debe aparecer un store_view_code correspondiente a ese store view,
  • el módulo guarda los datos usando store_id = 1.

Import Mode

Modos disponibles:

  • update,
  • insert.

update actualiza categorías existentes.

insert crea nuevas categorías.

CSV File

Archivo CSV con encabezados en la primera fila.

El archivo debe estar codificado en UTF-8.

CSV Delimiter

Separador CSV. Debe corresponder al separador utilizado en el archivo.

Unknown Columns Policy

Define el comportamiento para columnas que no son columnas de sistema ni atributos de categoría conocidos.

Variantes disponibles:

  • error - la importación muestra un error para columnas desconocidas.
  • ignore - las columnas desconocidas se ignoran.

Variante recomendada:

error

Empty Values Policy

Define cómo interpreta el módulo las celdas CSV vacías.

Variantes disponibles:

  • skip_empty,
  • clear_value,
  • use_default.

skip_empty significa que una celda vacía no cambiará el valor actual.

clear_value significa que una celda vacía limpiará el valor del atributo.

use_default significa que una celda vacía eliminará la sobrescritura del store view y permitirá que Magento utilice el valor predeterminado.

Variante recomendada para importaciones de actualización:

skip_empty

URL Key Strategy

Define cómo gestionar el atributo url_key.

Variantes disponibles:

  • use_csv_value,
  • generate_from_name,
  • keep_existing,
  • magento_default.

use_csv_value guarda url_key desde el CSV.

generate_from_name genera url_key a partir del valor name.

keep_existing conserva el url_key existente en modo update.

magento_default deja la gestión de URL al mecanismo estándar de Magento.

Create permanent redirect for URL key changes

La opción define si Magento debe crear un permanent redirect al cambiar url_key.

Conviene activarla cuando el cambio de URL de categoría debe conservar redirecciones SEO desde las direcciones antiguas.

Images Base Directory

Directorio base para la importación de imágenes de categorías relativo a pub/media.

Por defecto:

import/categories

Ruta completa en Magento:

pub/media/import/categories

Si en el CSV indicas:

gear/bags.jpg

el módulo buscará el archivo:

pub/media/import/categories/gear/bags.jpg

Error Policy

Define el comportamiento de la importación ante errores.

Variantes disponibles:

  • skip_invalid_rows,
  • stop_on_first_error,
  • all_or_nothing.

skip_invalid_rows omite las filas incorrectas y continúa la importación.

stop_on_first_error detiene la importación tras el primer error.

all_or_nothing requiere que todo el archivo sea correcto; si se produce un error, la importación no debería guardar datos.

Variante recomendada para archivos grandes:

skip_invalid_rows

Batch Size

Número de filas procesadas en un lote.

Por defecto:

100

Un valor más bajo reduce el consumo de memoria. Un valor más alto puede acelerar la importación en entornos más potentes.

Attributes to Import

Lista de atributos que deben importarse.

La importación actualiza solo los atributos seleccionados. Si una columna existe en el CSV, pero el atributo no se marca en el formulario, el módulo no debería guardarlo.

Dry Run

Modo de validación sin guardar datos.

Se recomienda ejecutar dry-run antes de la importación real, especialmente para archivos grandes o cambios SEO.

Modo import/update

El modo update sirve para actualizar categorías existentes.

Datos requeridos

El CSV debe contener:

  • store_view_code,
  • entity_id o category_path,
  • al menos una columna de un atributo seleccionado.

Cómo funciona la identificación de categorías

El módulo intenta encontrar la categoría por:

  1. entity_id,
  2. category_path, si entity_id está vacío.

entity_id es el mejor identificador cuando la importación se realiza en el mismo entorno Magento.

category_path es más portable entre entornos, pero debe ser inequívoco.

Ejemplo de actualización de traducciones

store_view_code,entity_id,category_path,name,url_key,meta_title,meta_descriptionpl,13,Default Category/Gear/Bags,Torby,torby,Torby,Torby i akcesoriapl,14,Default Category/Gear/Gloves,Rekawiczki,rekawiczki,Rekawiczki,Rekawiczki sportowe

Configuración de importación:

  • Store View: store view polaco,
  • Import Mode: update,
  • Attributes to Import: name, url_key, meta_title, meta_description,
  • URL Key Strategy: use_csv_value,
  • Empty Values Policy: skip_empty,
  • primero Dry Run, después la importación real.

Modo import/insert

El modo insert sirve para crear nuevas categorías.

Datos requeridos

El CSV debe contener:

  • store_view_code,
  • category_path,
  • parent_entity_id o parent_path,
  • name,
  • al menos una columna de un atributo seleccionado.

entity_id no es obligatorio, porque Magento lo asigna automáticamente.

Ejemplo de creación de categorías

store_view_code,parent_entity_id,parent_path,category_path,name,url_key,is_active,include_in_menudefault,12,Default Category/Gear,Default Category/Gear/Helmets,Helmets,helmets,1,1default,12,Default Category/Gear,Default Category/Gear/Gloves,Gloves,gloves,1,1

Configuración de importación:

  • Store View: default store view,
  • Import Mode: insert,
  • Attributes to Import: name, url_key, is_active, include_in_menu,
  • URL Key Strategy: use_csv_value o generate_from_name,
  • Error Policy: skip_invalid_rows,
  • primero Dry Run.

Trabajo con select y multiselect

El módulo admite select y multiselect por labels de opción.

No es necesario indicar los ID técnicos de opción.

Ejemplo:

store_view_code,entity_id,category_path,display_mode,available_sort_by,default_sort_bydefault,13,Default Category/Gear/Bags,Products only,Position|Product Name|Price,Position

Para multiselect, varios valores se separan con el separador:

|

Si el label no existe o es ambiguo, la importación mostrará un error.

Importación de imágenes de categorías

Antes de importar imágenes, coloca los archivos en el directorio:

pub/media/import/categories

Ejemplo de CSV:

store_view_code,entity_id,category_path,image,thumbnaildefault,13,Default Category/Gear/Bags,gear/bags.jpg,gear/bags-thumb.jpg

Configuración de importación:

  • Images Base Directory: import/categories,
  • atributos marcados: image, thumbnail.

El módulo comprobará si los archivos existen y tienen extensiones admitidas.

Informe de importación

Después de la importación, el módulo genera un informe CSV.

El informe contiene:

  • número de fila,
  • identificador de categoría,
  • estado,
  • mensaje,
  • atributos modificados.

Los estados pueden incluir:

  • success,
  • error,
  • skipped_no_change,
  • skipped_existing.

Historial de importaciones

El historial de importaciones está disponible en:

System > Data Transfer > Export/Import Categories > Import History

El historial contiene:

  • fecha de importación,
  • usuario administrador,
  • store view,
  • modo de importación,
  • nombre del archivo,
  • número de filas,
  • número de éxitos,
  • número de errores,
  • información sobre dry-run,
  • enlace para descargar el informe.

Proceso de trabajo recomendado

Importación de actualización segura

  1. Realiza una exportación de las categorías actuales.
  2. Conserva el archivo original como backup.
  3. Prepara los cambios en una copia del CSV.
  4. Asegúrate de que store_view_code corresponda al store view de destino.
  5. Selecciona la importación update.
  6. Selecciona solo los atributos que quieras cambiar.
  7. Configura Empty Values Policy en skip_empty.
  8. Ejecuta Dry Run.
  9. Revisa el informe.
  10. Ejecuta la importación real.
  11. Limpia la caché si los cambios no son visibles de inmediato.

Importación segura de nuevas categorías

  1. Prepara un CSV con category_path, parent_path o parent_entity_id.
  2. Asegúrate de que los padres existan o aparezcan antes en el archivo.
  3. Selecciona la importación insert.
  4. Marca al menos name y otros atributos requeridos.
  5. Ejecuta Dry Run.
  6. Corrige los errores del informe.
  7. Ejecuta la importación real.

Caché e índices

Después de importar cambios en categorías, conviene actualizar la caché Magento:

bin/magento cache:clean

Si la tienda requiere reindexación manual después de cambios importantes en el catálogo:

bin/magento indexer:reindex

En instalaciones Magento habituales, el guardado de categorías mediante los mecanismos estándar de Magento debería ejecutar los procesos adecuados vinculados al modelo de categoría, pero tras importaciones grandes se recomienda comprobar la caché y los índices.

Problemas más frecuentes

La importación indica un store_view_code no coincidente

Comprueba si el código de la columna store_view_code corresponde al store view seleccionado en el formulario de importación.

La importación no cambia valores

Comprueba:

  • si el atributo se ha marcado en Attributes to Import,
  • si la celda CSV no está vacía,
  • si Empty Values Policy no está configurado como skip_empty,
  • si la importación no se ejecutó como Dry Run.

Select o multiselect muestra un error

Comprueba si el label de la opción en el CSV corresponde exactamente al label de la opción en Magento para el store view seleccionado.

La imagen no se importa

Comprueba:

  • si el archivo existe en pub/media/import/categories,
  • si la ruta en el CSV es correcta,
  • si la extensión del archivo está admitida,
  • si el atributo de imagen se ha marcado para la importación.

Insert indica que falta el padre

Comprueba parent_entity_id o parent_path. El padre debe existir en Magento o encontrarse antes en el archivo de importación.

Desinstalación del módulo

Si el módulo se instaló mediante Composer:

composer remove kowal/module-export-import-categoriesbin/magento setup:upgradebin/magento cache:flush

Antes de desinstalarlo, asegúrate de si el historial de importaciones puede eliminarse. El módulo crea la tabla:

kowal_export_import_categories_history
Implemented in real Magento 2 stores
Caso práctico: ampliación de tandembaits.com con nuevas versiones lingüísticas

Cliente

tandembaits.com es una tienda online del sector de la pesca. La oferta de la tienda se basa en un surtido especializado, en el que los nombres correctos de las categorías, las descripciones precisas y las URL bien preparadas tienen una importancia directa para la usabilidad de la tienda, el SEO y la comunicación con clientes de distintos países.

Reto

Como parte de la ampliación de la tienda con nuevas versiones lingüísticas, el cliente necesitaba una forma eficaz de gestionar las categorías en Magento 2.

El principal problema era la especificidad del sector de la pesca. Los nombres de las categorías no son etiquetas simples y universales. A menudo hacen referencia a técnicas de pesca concretas, tipos de cebos, accesorios, series de productos o conceptos utilizados solo por pescadores avanzados.

Con 10 versiones lingüísticas, la gestión manual de categorías en el panel de Magento era demasiado laboriosa y propensa a errores. El cliente necesitaba tener control total sobre:

  • los nombres de las categorías,
  • las URL de las categorías,
  • las descripciones de las categorías,
  • los metadatos SEO,
  • los valores específicos de cada store view,
  • la coherencia de la estructura de categorías entre las versiones lingüísticas.

El alcance del trabajo incluía varias decenas de categorías en 10 versiones lingüísticas. Esto suponía cientos de valores de texto que había que preparar, revisar, corregir e importar.

Problema de negocio

El trabajo estándar en el panel de Magento habría requerido editar cada categoría por separado para cada store view. Con varias decenas de categorías y 10 idiomas, ese proceso habría sido lento y difícil de controlar.

Los principales riesgos del trabajo manual eran:

  • errores al seleccionar el store view,
  • traducciones incoherentes de los nombres de las categorías,
  • sobrescritura accidental de valores predeterminados,
  • URL incorrectas o duplicadas,
  • falta de una vista cómoda de todas las categorías en un solo lugar,
  • dificultad para entregar los datos a traductores o personas responsables de SEO,
  • falta de una forma sencilla de validar los cambios antes de guardarlos.

El cliente necesitaba un proceso que permitiera preparar los datos de forma masiva, revisarlos antes de la importación y guardar de forma segura solo los atributos seleccionados para un store view concreto.

Solución

Para este escenario se utilizó el módulo Export Import Categories para Magento 2.

El módulo permitió exportar las categorías a un archivo CSV, preparar los datos lingüísticos fuera del panel de Magento y volver a importar los valores al store view seleccionado.

El proceso se basó en el modo update, ya que la estructura de categorías ya existía en la tienda. El objetivo no era crear un nuevo árbol de categorías, sino completar y corregir los datos para las siguientes versiones lingüísticas.

Alcance de uso del módulo

En el proyecto fueron clave las siguientes funciones del módulo:

  • exportación de categorías desde el store view base,
  • conservación de entity_id como identificador estable de la categoría,
  • cambio de store_view_code al código de la versión lingüística de destino,
  • importación en modo update,
  • selección de atributos concretos para importar,
  • gestión de nombres de categorías,
  • gestión de url_key,
  • gestión de descripciones de categorías,
  • control de valores vacíos,
  • validación del archivo antes de la importación definitiva,
  • informe de importación.

Proceso implantado en el proyecto

1. Exportación de categorías

Primero se realizó la exportación de categorías desde el store view base. El archivo CSV contenía columnas del sistema y los atributos seleccionados necesarios para preparar las versiones lingüísticas.

Columnas del sistema más importantes:

  • store_view_code,
  • entity_id,
  • category_path,
  • parent_path.

Atributos de trabajo más importantes:

  • name,
  • url_key,
  • description,
  • meta_title,
  • meta_description.

2. Preparación de los datos lingüísticos

A partir del CSV exportado, se prepararon datos independientes para cada versión lingüística.

Gracias a ello, las personas responsables de los contenidos pudieron trabajar en una hoja de cálculo, viendo muchas categorías al mismo tiempo. Esto fue especialmente importante en el sector de la pesca, donde los nombres de las categorías deben ajustarse a la terminología local y a la forma real en que los clientes buscan productos.

3. Conservación de los identificadores de categoría

En los archivos de importación se conservó entity_id, para que el módulo pudiera asociar de forma inequívoca las filas del CSV con las categorías existentes de Magento.

Esto permitió importar traducciones sin riesgo de crear categorías duplicadas.

4. Cambio de store view

Para cada versión lingüística se configuraba el store_view_code correspondiente en el CSV y se seleccionaba el mismo store view en el formulario de importación.

El módulo validaba la coherencia de estos datos. Gracias a ello se redujo el riesgo de importar accidentalmente traducciones al store view incorrecto.

5. Importación en modo update

La importación se realizaba en modo update, seleccionando únicamente los atributos que debían modificarse para una versión lingüística determinada.

De este modo, el módulo no intervenía en el resto de datos de la categoría.

6. Validación y dry-run

Antes de la importación definitiva, se podía ejecutar una validación sin guardar datos.

El modo dry-run permitía comprobar:

  • si el archivo CSV tenía las columnas correctas,
  • si store_view_code coincidía con el store view seleccionado,
  • si entity_id apuntaba a categorías existentes,
  • si los atributos seleccionados existían en Magento,
  • si la importación no contenía errores que bloquearan el guardado.

7. Informe tras la importación

Tras la importación, el módulo generaba un informe que permitía comprobar el estado de cada fila.

El informe resultaba especialmente útil al trabajar con varios idiomas, ya que permitía detectar rápidamente posibles errores en un archivo concreto o en una categoría concreta.

Por qué CSV era el formato adecuado

CSV era un formato práctico para este proyecto porque:

  • se puede editar fácilmente en una hoja de cálculo,
  • se puede entregar a traductores,
  • se pueden comparar valores entre idiomas,
  • se pueden preparar muchas versiones lingüísticas a partir de una sola exportación,
  • se puede trabajar sobre columnas concretas sin hacer clic manualmente en el panel de Magento,
  • se puede mantener el control sobre entity_id y store_view_code.

Resultado

El módulo permitió al cliente gestionar las categorías en 10 versiones lingüísticas de forma ordenada y repetible.

En lugar de editar manualmente cada categoría en el panel de Magento, el equipo pudo trabajar con archivos CSV, preparar traducciones de forma masiva e importar solo los atributos seleccionados para un store view concreto.

Principales ventajas:

  • preparación más rápida de nuevas versiones lingüísticas,
  • mayor control sobre los nombres de las categorías,
  • control total sobre las URL,
  • gestión más sencilla de las descripciones de categorías,
  • posibilidad de trabajar fuera del panel de Magento,
  • menor riesgo de errores con múltiples store view,
  • validación de datos antes de guardarlos,
  • informes sobre los resultados de la importación.

Importancia para SEO

En el proyecto tuvo especial importancia la posibilidad de controlar url_key, los nombres de categorías y las descripciones.

Para una tienda que opera en varios idiomas, la traducción automática o la copia accidental de nombres de categorías no es suficiente. Cada mercado puede utilizar términos sectoriales distintos, y en la pesca las diferencias terminológicas son especialmente relevantes.

El módulo permitió preparar valores SEO de forma consciente para cada versión lingüística:

  • nombres locales de categorías,
  • URL locales,
  • descripciones adaptadas al idioma,
  • meta títulos,
  • meta descripciones.

Resumen

La ampliación de tandembaits.com con 10 versiones lingüísticas requería una herramienta que permitiera gestionar de forma eficiente las categorías de Magento 2 a nivel de store view.

Export Import Categories resolvió este problema trasladando el trabajo desde la edición manual en el panel de Magento a un proceso controlado basado en CSV, validación e importación de atributos seleccionados.

Como resultado, el cliente obtuvo la posibilidad de gestionar cómodamente nombres de categorías especializados, URL y descripciones para varios idiomas sin riesgo de sobrescribir accidentalmente toda la estructura de categorías.

Write Your Own Review
You're reviewing:Módulo Export Import Categories para Magento 2
Productos
Aktualizacja preferencji plików cookie