Module Export Import Categories pour Magento 2

Export Import Categories est un module Magento 2 qui permet d’exporter et d’importer les attributs de catégories au format CSV pour la store view sélectionnée.
Compatibilité
2.4.9, 2.4.8, 2.4.7, 2.4.6, 2.4.5, 2.4.4, 2.4.3, 2.4.2, 2.4.1, 2.4.0, 2.3.7, 2.3.6, 2.3.5, 2.3.4
61,50 €
Envoyer à un ami

Demander des informations sur ce produit

Description / Module Export Import Categories pour Magento 2

MAGENTO 2 · CATÉGORIES · CSV · STORE VIEW

Mettez à jour vos catégories en masse et dans la langue choisie.

Kowal Export Import Categories

Exportez les attributs de catégories vers CSV, préparez les modifications dans une feuille de calcul et importez-les dans la bonne store view. Contrôlez les valeurs vides, les URL, les images ainsi que le rapport de chaque exécution.

Update et Insert · Dry Run · Traductions et attributs personnalisés

COMMENT ÇA FONCTIONNE EN PRATIQUE

01 · Vous exportez les données choisies
Vous indiquez la store view, le périmètre des catégories et les attributs.

02 · Vous préparez et vérifiez le CSV
Vous modifiez les valeurs et lancez une validation sans enregistrement.

03 · Vous importez avec contrôle du résultat
Vous choisissez les politiques d’écriture et analysez le rapport des lignes.

Qu’apporte ce module à votre boutique ?

Découvrez les fonctionnalités, les cas d’utilisation et les paramètres du module.

Découvrez le module

Kowal_ExportImportCategories est un module Magento 2 qui permet d’exporter et d’importer les attributs de catégories au format CSV en tenant compte de la store view sélectionnée. L’extension a été conçue pour les boutiques qui travaillent avec plusieurs versions linguistiques, plusieurs vues de boutique ou qui doivent mettre à jour en masse les données de catégories sans modifier manuellement chaque catégorie dans le panneau d’administration.

Le module permet d’exporter les catégories dans un fichier CSV, de modifier les attributs sélectionnés en dehors de Magento, puis de réimporter les données en mode mise à jour des catégories existantes ou création de nouvelles catégories. L’import fonctionne sur la store view indiquée, ce qui permet de préparer facilement les traductions des noms, descriptions, balises meta, URL et autres attributs de catégories.

À qui s’adresse ce module ?

Le module est destiné aux :

  • boutiques Magento 2 avec plusieurs versions linguistiques,
  • équipes de contenu travaillant avec des fichiers CSV,
  • agences qui déploient des catalogues de catégories entre environnements,
  • administrateurs qui doivent mettre à jour en masse les noms, descriptions, métadonnées et URL de catégories,
  • boutiques qui disposent d’attributs de catégories personnalisés et souhaitent les gérer en masse,
  • projets dans lesquels les données de catégories sont préparées en dehors de Magento, par exemple par des traducteurs, une équipe SEO ou un système PIM.

Fonctionnalités clés

  • Export des catégories vers CSV pour la store view sélectionnée.
  • Import des catégories depuis CSV pour la store view sélectionnée.
  • Mode de mise à jour des catégories existantes : update.
  • Mode de création de nouvelles catégories : insert.
  • Sélection des attributs exportés vers CSV.
  • Sélection des attributs importés depuis CSV.
  • Colonnes système automatiques nécessaires à l’identification des catégories.
  • Validation des en-têtes CSV avant l’import.
  • Validation des noms de colonnes par rapport aux attributs de catégories Magento réels.
  • Prise en charge des attributs de catégories personnalisés ajoutés dans Magento.
  • Prise en charge des valeurs textuelles pour tous les attributs.
  • Prise en charge des attributs select et multiselect par libellés d’options.
  • Possibilité de travailler sur les valeurs visibles dans la store view ou uniquement sur les remplacements de store view.
  • Mode dry-run, c’est-à-dire une validation complète de l’import sans enregistrement des données.
  • Politique des valeurs vides.
  • Stratégies de gestion de url_key.
  • Création optionnelle de permanent redirect lors du changement d’URL de catégorie.
  • Prise en charge des chemins vers les images de catégories.
  • Batch processing pour les fichiers plus volumineux.
  • Politiques de gestion des erreurs.
  • Rapport d’import au format CSV.
  • Historique des imports dans le panneau d’administration.

Export des catégories

L’export permet de générer un fichier CSV avec les catégories pour la store view sélectionnée. L’administrateur choisit la vue de boutique ainsi que les attributs de catégories qui doivent figurer dans le fichier. Le module ajoute automatiquement les colonnes système nécessaires à l’identification des catégories et au maintien de la structure de l’arborescence.

L’export peut être utilisé pour :

  • préparer les traductions de catégories,
  • auditer les données de catégories,
  • corriger en masse les métadonnées SEO,
  • comparer les valeurs entre store views,
  • préparer un fichier à importer sur le même environnement ou sur un autre,
  • archiver les données actuelles des catégories avant modification.

Périmètre de l’export

L’export porte sur les attributs de catégories. Le module n’exporte pas les produits associés aux catégories. Il n’effectue pas non plus d’opérations de suppression de catégories.

L’administrateur peut choisir :

  • Store View,
  • la catégorie de départ,
  • les attributs à exporter,
  • le séparateur CSV,
  • le mode de valeurs store view.

Modes de valeurs store view lors de l’export

Le module prend en charge deux modes d’export des valeurs :

  • resolved_value - la valeur visible dans la store view donnée est exportée, c’est-à-dire après prise en compte du fallback Magento vers la valeur par défaut.
  • store_override_only - seule la valeur remplacée directement pour la store view donnée est exportée ; si la valeur est héritée, la cellule CSV reste vide.

Le mode resolved_value est pratique pour le travail éditorial, car il affiche la valeur réelle visible dans la boutique. Le mode store_override_only est utile lorsqu’il faut contrôler uniquement les traductions ou les remplacements spécifiques à une vue de boutique donnée.

Import des catégories

L’import permet de charger un fichier CSV et d’enregistrer les attributs de catégories sélectionnés pour la store view indiquée. La store view choisie dans le formulaire d’import est prioritaire, et la colonne store_view_code du CSV sert à valider que le fichier correspond à la vue de boutique sélectionnée.

L’import peut être utilisé pour :

  • traduire les catégories,
  • mettre à jour les noms de catégories,
  • mettre à jour les descriptions de catégories,
  • mettre à jour les balises meta,
  • mettre à jour url_key,
  • créer de nouvelles catégories,
  • importer des attributs de catégories personnalisés,
  • mettre à jour les attributs de menu et de visibilité,
  • importer les chemins des images de catégories.

Mode update

Le mode update met à jour les catégories existantes. Le module ne crée pas de nouvelles catégories dans ce mode.

La catégorie est recherchée principalement par entity_id. Si entity_id n’est pas disponible, le module peut utiliser category_path, à condition que le chemin identifie une seule catégorie sans ambiguïté.

Le mode update est recommandé pour :

  • les traductions de catégories entre store views,
  • les corrections SEO,
  • les mises à jour de descriptions,
  • les mises à jour de noms,
  • la modification des valeurs d’attributs de catégories personnalisés.

Exemple de scénario de traduction :

  1. Export des catégories depuis la store view de base.
  2. Modification de store_view_code dans le CSV avec le code de la store view cible.
  3. Conservation des mêmes entity_id.
  4. Renseignement des traductions dans les colonnes name, description, meta_title, meta_description.
  5. Import en mode update pour la store view cible.

Dans cette variante, le module enregistre les attributs sélectionnés dans le contexte du store_id numérique choisi dans le formulaire d’import.

Mode insert

Le mode insert crée de nouvelles catégories. Dans ce mode, entity_id n’est pas requis, car Magento l’attribue automatiquement.

Une nouvelle catégorie doit avoir un parent indiqué via :

  • parent_entity_id,
  • ou parent_path.

Le mode insert est recommandé pour :

  • créer de nouvelles structures de catégories,
  • transférer une arborescence de catégories entre environnements,
  • préparer des catégories dans une feuille CSV,
  • créer des catégories à partir de données externes.

Si l’import contient à la fois un parent et un enfant, les données doivent être organisées dans l’ordre, des catégories de niveau supérieur vers les catégories de niveau inférieur.

Format CSV

La première ligne du fichier CSV doit contenir les en-têtes de colonnes. Les colonnes se divisent en :

  • colonnes système,
  • colonnes d’attributs de catégories.

Les colonnes d’attributs doivent correspondre aux codes d’attributs Magento, par exemple :

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

Colonnes système

Le module utilise les colonnes système suivantes :

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

Les colonnes système ne sont pas traitées comme des attributs EAV. Elles servent à identifier les catégories, valider la store view et reconstituer la structure de l’arborescence.

Exemple de CSV pour la mise à jour

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

Exemple de CSV pour la création de catégories

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

Travail sur les attributs textuels

Le module enregistre les valeurs dans le CSV sous forme de texte. Le fichier peut ainsi être modifié dans une feuille de calcul, transmis à un traducteur ou préparé automatiquement dans un système externe.

Pour les attributs de type select et multiselect, le module travaille sur les libellés d’options et non sur les ID techniques des options. Cela signifie que le CSV contient des valeurs lisibles, telles que Products only, Position ou Price.

Pour multiselect, plusieurs valeurs sont séparées par le séparateur |.

Exemple :

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 le libellé d’option n’existe pas ou n’est pas univoque, l’import signalera une erreur de validation.

Politique des valeurs vides

Lors de l’import, l’administrateur choisit la manière d’interpréter les cellules CSV vides :

  • skip_empty - une cellule vide ne modifie pas la valeur existante.
  • clear_value - une cellule vide efface la valeur de l’attribut pour la store view sélectionnée.
  • use_default - une cellule vide supprime le remplacement de store view et permet à Magento d’utiliser la valeur par défaut.

Par défaut, la variante recommandée pour les mises à jour est skip_empty, car elle limite le risque d’effacement accidentel de données.

Gestion des URL de catégories

Le module permet de configurer la stratégie de gestion de url_key :

  • use_csv_value - utilise la valeur du CSV.
  • generate_from_name - génère url_key à partir de l’attribut name.
  • keep_existing - en mode update, conserve le url_key actuel.
  • magento_default - laisse la gestion des URL au mécanisme standard de Magento.

L’administrateur peut également décider si des permanent redirects doivent être créées lors du changement de url_key.

Cette configuration est particulièrement importante pour les traductions, car différentes boutiques peuvent appliquer différentes stratégies :

  • URL traduites pour chaque langue,
  • URL communes entre versions linguistiques,
  • URL générées automatiquement à partir des noms de catégories,
  • URL SEO gérées manuellement.

Images de catégories

Le module peut importer les attributs d’images de catégories si les colonnes correspondantes sont sélectionnées pour l’import.

Répertoire source par défaut :

pub/media/import/categories

Le CSV contient un chemin textuel relatif à ce répertoire, par exemple :

gear/bags.jpg

Le module valide l’existence du fichier et son extension. Les formats graphiques sûrs pris en charge sont notamment :

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

Mode dry-run

Le mode dry-run permet de lancer la validation de l’import sans enregistrer de données dans Magento.

Dans ce mode, le module :

  • lit le CSV,
  • valide les en-têtes,
  • valide la store view,
  • vérifie l’existence des catégories ou des parents,
  • vérifie les attributs,
  • mappe les valeurs select et multiselect,
  • vérifie les images,
  • génère un rapport d’erreurs et d’avertissements,
  • n’enregistre pas les catégories.

C’est la première étape recommandée avant tout import important.

Batch processing

L’import fonctionne par lots. La taille du batch peut être configurée dans le formulaire d’import.

Valeur par défaut :

100 wierszy

Le batch processing limite le risque de timeouts et de consommation excessive de mémoire avec les fichiers plus volumineux.

Politique d’erreurs

Le module prend en charge trois variantes de comportement en cas d’erreur :

  • skip_invalid_rows - les lignes erronées sont ignorées, les lignes correctes continuent d’être importées.
  • stop_on_first_error - l’import s’arrête à la première erreur.
  • all_or_nothing - si la validation de l’une des lignes détecte une erreur avant l’enregistrement, l’import ne commence pas l’écriture.

La variante recommandée pour les imports volumineux est skip_invalid_rows, car elle permet de traiter les données correctes et d’obtenir un rapport des problèmes pour les autres lignes.

Rapports et historique des imports

Après l’import, le module génère un rapport CSV contenant :

  • le numéro de ligne,
  • l’identifiant de catégorie,
  • le statut,
  • le message,
  • la liste des attributs modifiés.

L’historique des imports est disponible dans le panneau d’administration. L’administrateur peut vérifier :

  • la date de l’import,
  • l’utilisateur admin,
  • la store view,
  • le mode d’import,
  • le nom du fichier,
  • le nombre de lignes,
  • le nombre de succès,
  • le nombre d’erreurs,
  • l’information indiquant si l’import a été exécuté en dry-run,
  • télécharger le rapport d’import.

Sécurité

Le module utilise l’ACL Magento et ajoute des autorisations distinctes pour l’export, l’import et l’historique des imports.

L’import est sécurisé par :

  • la validation des en-têtes,
  • la validation des codes d’attributs,
  • la validation de la store view,
  • la validation des colonnes requises,
  • la validation des types de valeurs,
  • la validation des libellés d’options,
  • la validation des fichiers images,
  • le reporting des erreurs ligne par ligne.

Le module ne supprime pas les catégories et n’importe pas les produits associés aux catégories.

Traductions de catégories

Vous exportez les catégories depuis la store view de base, renseignez les traductions dans le CSV, remplacez store_view_code par le code de la store view cible et importez les données en mode update.

Mise à jour SEO en masse

Vous exportez les attributs meta_title, meta_description, url_key, les modifiez dans le CSV et importez uniquement les colonnes sélectionnées.

Création d’une nouvelle structure de catégories

Vous préparez un fichier CSV avec category_path, parent_path, name et les autres attributs requis, puis vous l’importez en mode insert.

Mise à jour des attributs de catégories personnalisés

Si la boutique possède des attributs de catégories personnalisés, le module les récupère dynamiquement depuis EAV et permet de les sélectionner lors de l’export et de l’import.

Emplacement dans le panneau Magento

Après installation, le module est disponible dans :

System > Data Transfer > Export/Import Categories

Vues disponibles :

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

Le formulaire d’import détermine la vue de boutique

System → Data Transfer → Export/Import Categories fournit l’export, l’import et l’historique. La store view sélectionnée dans le formulaire définit le contexte d’enregistrement ; store_view_code dans le fichier sert à vérifier la conformité.

Lorsque vous transférez des données entre instances, vérifiez les identifiants des parents et les chemins de catégories. L’export des attributs seul ne transfère ni les produits ni leurs associations aux catégories.

All or nothing et erreurs lors de l’enregistrement

Le mode all_or_nothing valide toutes les lignes avant de commencer l’enregistrement. Une erreur de cette validation arrête l’import.

Le processus actuel enregistre ensuite les catégories une par une et ne couvre pas tout le fichier avec une seule transaction. Un échec d’enregistrement n’entraîne pas le rollback automatique des catégories déjà enregistrées ; analysez le rapport et conservez un export avant les modifications.

Installation via Composer

Package kowal/module-export-import-categories, module Kowal_ExportImportCategories. Après avoir configuré l’accès au dépôt Kowal, installez le package, activez le module, mettez Magento à jour et videz le cache. En production, tenez compte de la compilation et du déploiement du contenu statique conformément au processus de la boutique.

De la configuration au résultat

1. Vous exportez les données choisies
Vous indiquez la store view, le périmètre des catégories et les attributs.

2. Vous préparez et vérifiez le CSV
Vous modifiez les valeurs et lancez une validation sans enregistrement.

3. Vous importez avec contrôle du résultat
Vous choisissez les politiques d’écriture et analysez le rapport des lignes.

Traductions de catégories depuis une feuille de calcul

Vous exportez les noms, descriptions et métadonnées. Vous conservez les identifiants de catégories, modifiez le code de vue dans le CSV et préparez les traductions.

Après le dry-run, vous importez les colonnes sélectionnées en mode update vers la store view cible. Les cellules vides sont interprétées selon la politique d’import choisie.

Optimisez votre travail avec les catégories et les traductions

Vous souhaitez adapter le module à votre boutique ? Demandez le déploiement de Kowal Export Import Categories et discutez de la configuration ou des extensions nécessaires.

Caractéristiques

Compatibilité avec le modèle Luma / Blank, KOWAL

Notice d'installation du module

Guide d’installation et de configuration du module Kowal_ExportImportCategories

Ce document décrit l’installation, la configuration et l’utilisation du module Kowal_ExportImportCategories pour Magento 2. Le guide tient compte des informations du fichier README.md ainsi que des fonctionnalités implémentées dans le module.

Prérequis

  • Magento 2.
  • PHP compatible avec l’installation Magento, PHP 8.1 ou plus récent recommandé.
  • Accès au CLI Magento.
  • Accès à Composer.
  • Droits d’administrateur Magento.
  • Accès au dépôt du module.
  • Pour l’import d’images : possibilité de placer des fichiers dans le répertoire pub/media/import/categories.

Installation via Composer

Le module est disponible via le dépôt Composer.

1. Ajoutez le dépôt Composer

Les identifiants d’accès au dépôt Composer, à savoir l’adresse e-mail du client et le token de licence, vous seront envoyés par e-mail après l’achat. Ils sont également disponibles dans l’espace client après connexion sur kowal.store. Remplacez TWOJ_EMAIL_KLIENTA par l’adresse e-mail de votre compte et TWOJ_TOKEN par le token reçu. Exécutez les commandes dans le répertoire racine de Magento.

composer config repositories.kowal composer https://repo.kowal.store

2. Configurez l’accès au dépôt Composer Kowal

Configurez les identifiants d’accès au dépôt Composer Kowal :

composer config http-basic.repo.kowal.store 'TWOJ_EMAIL_KLIENTA' 'TWOJ_TOKEN'

Remplacez par votre propre token d’accès.

3. Installez le module

composer require kowal/module-export-import-categories

4. Activez le module dans Magento

bin/magento module:enable Kowal_ExportImportCategories

5. Lancez la mise à jour Magento

bin/magento setup:upgrade

6. Videz le cache

bin/magento cache:flush

7. Lancez éventuellement la compilation DI

Sur les environnements de production ou en mode production :

bin/magento setup:di:compile

8. Déployez éventuellement les ressources statiques

Si l’environnement l’exige :

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

Installation manuelle dans app/code

Vous pouvez également placer le module manuellement dans le répertoire :

app/code/Kowal/ExportImportCategories

Après avoir copié les fichiers, exécutez :

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

En mode production, exécutez également :

bin/magento setup:di:compile

Vérification de l’installation

Après l’installation, vérifiez que le module est actif :

bin/magento module:status Kowal_ExportImportCategories

Le module doit figurer dans la liste des modules actifs.

Dans le panneau d’administration, allez dans :

System > Data Transfer > Export/Import Categories

Trois éléments doivent être visibles :

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

Autorisations ACL

Le module ajoute des autorisations administratives distinctes :

  • accès à la section principale Export/Import Categories,
  • export des catégories,
  • import des catégories,
  • historique des imports.

Si l’utilisateur admin ne voit pas le menu du module, vérifiez son rôle dans :

System > Permissions > User Roles

Attribuez ensuite les autorisations appropriées aux ressources du module.

Emplacement du module dans le panneau

Le module est disponible sous :

System > Data Transfer > Export/Import Categories

Vues :

  • Export Categories - export des catégories vers CSV.
  • Import Categories - import des catégories depuis CSV.
  • Import History - historique des imports et rapports.

Configuration de l’export

La vue d’export permet de générer un fichier CSV avec les catégories.

Champs d’export

Store View

Sélectionne la store view depuis laquelle les valeurs des attributs de catégories seront lues.

Si vous choisissez une store view linguistique, l’export peut contenir des valeurs spécifiques à cette store view ou des valeurs héritées du scope par défaut, selon le mode de valeurs.

Start Category ID

Champ optionnel permettant de limiter l’export à une catégorie sélectionnée et à son sous-arbre.

Si le champ reste vide, le module exporte les catégories à partir de la root category de la store view sélectionnée.

Store View Value Mode

Définit la manière d’exporter les valeurs dépendantes de la store view.

Variantes disponibles :

  • resolved_value,
  • store_override_only.

resolved_value exporte la valeur visible dans la store view sélectionnée après prise en compte du fallback Magento.

store_override_only exporte uniquement la valeur remplacée pour la store view sélectionnée. Si la valeur est héritée du default scope, la cellule CSV sera vide.

CSV Delimiter

Séparateur CSV. Par défaut :

,

Il est possible d’utiliser un autre séparateur si le fichier doit être modifié dans un outil exigeant par exemple un point-virgule.

Attributes

Liste des attributs de catégories disponibles dans Magento.

Le module récupère les attributs dynamiquement depuis EAV ; la liste peut donc également afficher des attributs de catégories personnalisés ajoutés au projet.

Les colonnes système sont ajoutées automatiquement et il n’est pas nécessaire de les sélectionner.

Colonnes système dans l’export

L’export doit toujours contenir les colonnes système :

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

Ces colonnes servent à identifier les catégories, valider la store view et gérer la structure de l’arborescence.

Configuration de l’import

La vue d’import permet de charger un CSV et d’enregistrer les données de catégories.

Champs d’import

Store View

Sélectionne la store view dans laquelle les valeurs seront enregistrées.

Ce champ détermine le store_id numérique utilisé lors de l’enregistrement dans les tables Magento.

La colonne store_view_code du CSV n’est pas directement convertie en store_id. Elle sert à valider que le fichier correspond à la store view sélectionnée.

Exemple :

  • dans le formulaire, vous choisissez une store view avec store_id = 1,
  • le CSV doit contenir un store_view_code correspondant à cette store view,
  • le module enregistre les données avec store_id = 1.

Import Mode

Modes disponibles :

  • update,
  • insert.

update met à jour les catégories existantes.

insert crée de nouvelles catégories.

CSV File

Fichier CSV avec en-têtes dans la première ligne.

Le fichier doit être encodé en UTF-8.

CSV Delimiter

Séparateur CSV. Il doit correspondre au séparateur utilisé dans le fichier.

Unknown Columns Policy

Définit le comportement pour les colonnes qui ne sont ni des colonnes système ni des attributs de catégories connus.

Variantes disponibles :

  • error - l’import signale une erreur pour les colonnes inconnues.
  • ignore - les colonnes inconnues sont ignorées.

Variante recommandée :

error

Empty Values Policy

Définit la manière dont le module interprète les cellules CSV vides.

Variantes disponibles :

  • skip_empty,
  • clear_value,
  • use_default.

skip_empty signifie qu’une cellule vide ne modifiera pas la valeur actuelle.

clear_value signifie qu’une cellule vide effacera la valeur de l’attribut.

use_default signifie qu’une cellule vide supprimera le remplacement de store view et permettra à Magento d’utiliser la valeur par défaut.

Variante recommandée pour un import de mise à jour :

skip_empty

URL Key Strategy

Définit le mode de gestion de l’attribut url_key.

Variantes disponibles :

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

use_csv_value enregistre url_key depuis le CSV.

generate_from_name génère url_key à partir de la valeur name.

keep_existing conserve le url_key existant en mode update.

magento_default laisse la gestion des URL au mécanisme standard de Magento.

Create permanent redirect for URL key changes

L’option définit si Magento doit créer une permanent redirect lors du changement de url_key.

Il est utile de l’activer lorsque le changement d’URL de catégorie doit conserver les redirections SEO depuis les anciennes adresses.

Images Base Directory

Répertoire de base pour l’import des images de catégories, relatif à pub/media.

Par défaut :

import/categories

Chemin complet dans Magento :

pub/media/import/categories

Si vous indiquez dans le CSV :

gear/bags.jpg

le module recherchera le fichier :

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

Error Policy

Définit le comportement de l’import en cas d’erreurs.

Variantes disponibles :

  • skip_invalid_rows,
  • stop_on_first_error,
  • all_or_nothing.

skip_invalid_rows ignore les lignes erronées et poursuit l’import.

stop_on_first_error arrête l’import à la première erreur.

all_or_nothing exige que tout le fichier soit correct ; si une erreur survient, l’import ne devrait pas enregistrer les données.

Variante recommandée pour les gros fichiers :

skip_invalid_rows

Batch Size

Nombre de lignes traitées dans un lot.

Par défaut :

100

Une valeur plus faible réduit la consommation de mémoire. Une valeur plus élevée peut accélérer l’import sur des environnements plus puissants.

Attributes to Import

Liste des attributs à importer.

L’import met à jour uniquement les attributs sélectionnés. Si une colonne existe dans le CSV mais que l’attribut n’est pas coché dans le formulaire, le module ne devrait pas l’enregistrer.

Dry Run

Mode de validation sans enregistrement des données.

Il est recommandé de lancer dry-run avant l’import réel, en particulier pour les gros fichiers ou les modifications SEO.

Mode import/update

Le mode update sert à mettre à jour les catégories existantes.

Données requises

Le CSV doit contenir :

  • store_view_code,
  • entity_id ou category_path,
  • au moins une colonne d’un attribut sélectionné.

Fonctionnement de l’identification des catégories

Le module essaie de trouver la catégorie par :

  1. entity_id,
  2. category_path, si entity_id est vide.

entity_id est le meilleur identifiant lorsque l’import a lieu sur le même environnement Magento.

category_path est plus portable entre environnements, mais il doit être univoque.

Exemple de mise à jour de traductions

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

Paramètres d’import :

  • Store View : store view polonaise,
  • Import Mode : update,
  • Attributes to Import : name, url_key, meta_title, meta_description,
  • URL Key Strategy : use_csv_value,
  • Empty Values Policy : skip_empty,
  • d’abord Dry Run, puis l’import réel.

Mode import/insert

Le mode insert sert à créer de nouvelles catégories.

Données requises

Le CSV doit contenir :

  • store_view_code,
  • category_path,
  • parent_entity_id ou parent_path,
  • name,
  • au moins une colonne d’un attribut sélectionné.

entity_id n’est pas requis, car Magento l’attribue automatiquement.

Exemple de création de catégories

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

Paramètres d’import :

  • 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 ou generate_from_name,
  • Error Policy : skip_invalid_rows,
  • d’abord Dry Run.

Travailler avec select et multiselect

Le module prend en charge select et multiselect par libellés d’options.

Il n’est pas nécessaire d’indiquer les ID techniques des options.

Exemple :

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

Pour multiselect, plusieurs valeurs sont séparées par le séparateur :

|

Si le libellé n’existe pas ou est ambigu, l’import signalera une erreur.

Import des images de catégories

Avant d’importer les images, placez les fichiers dans le répertoire :

pub/media/import/categories

Exemple de CSV :

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

Paramètres d’import :

  • Images Base Directory : import/categories,
  • attributs cochés : image, thumbnail.

Le module vérifiera que les fichiers existent et possèdent des extensions prises en charge.

Rapport d’import

Après l’import, le module génère un rapport CSV.

Le rapport contient :

  • le numéro de ligne,
  • l’identifiant de catégorie,
  • le statut,
  • le message,
  • les attributs modifiés.

Les statuts peuvent inclure :

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

Historique des imports

L’historique des imports est disponible dans :

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

L’historique contient :

  • la date de l’import,
  • l’utilisateur admin,
  • la store view,
  • le mode d’import,
  • le nom du fichier,
  • le nombre de lignes,
  • le nombre de succès,
  • le nombre d’erreurs,
  • l’information sur dry-run,
  • un lien de téléchargement du rapport.

Processus de travail recommandé

Import de mise à jour sécurisé

  1. Exportez les catégories actuelles.
  2. Conservez le fichier original comme sauvegarde.
  3. Préparez les modifications dans une copie du CSV.
  4. Assurez-vous que store_view_code correspond à la store view cible.
  5. Sélectionnez l’import update.
  6. Sélectionnez uniquement les attributs que vous souhaitez modifier.
  7. Définissez Empty Values Policy sur skip_empty.
  8. Lancez Dry Run.
  9. Vérifiez le rapport.
  10. Lancez l’import réel.
  11. Videz le cache si les modifications ne sont pas immédiatement visibles.

Import sécurisé de nouvelles catégories

  1. Préparez un CSV avec category_path, parent_path ou parent_entity_id.
  2. Assurez-vous que les parents existent ou apparaissent plus haut dans le fichier.
  3. Sélectionnez l’import insert.
  4. Cochez au minimum name ainsi que les autres attributs requis.
  5. Lancez Dry Run.
  6. Corrigez les erreurs du rapport.
  7. Lancez l’import réel.

Cache et index

Après l’import de modifications dans les catégories, il est conseillé d’actualiser le cache Magento :

bin/magento cache:clean

Si la boutique nécessite une réindexation manuelle après des modifications importantes du catalogue :

bin/magento indexer:reindex

Dans les installations Magento typiques, l’enregistrement des catégories via les mécanismes standard de Magento devrait déclencher les processus appropriés liés au modèle de catégorie, mais après de gros imports, il est recommandé de contrôler le cache et les index.

Problèmes les plus fréquents

L’import signale un store_view_code non conforme

Vérifiez que le code de la colonne store_view_code correspond à la store view sélectionnée dans le formulaire d’import.

L’import ne modifie pas les valeurs

Vérifiez :

  • si l’attribut a été coché dans Attributes to Import,
  • si la cellule CSV n’est pas vide,
  • si Empty Values Policy n’est pas défini sur skip_empty,
  • si l’import n’a pas été lancé en tant que Dry Run.

Select ou multiselect signale une erreur

Vérifiez que le libellé d’option dans le CSV correspond exactement au libellé d’option dans Magento pour la store view sélectionnée.

L’image ne s’importe pas

Vérifiez :

  • si le fichier existe dans pub/media/import/categories,
  • si le chemin dans le CSV est correct,
  • si l’extension du fichier est prise en charge,
  • si l’attribut d’image a été coché pour l’import.

Insert signale un parent manquant

Vérifiez parent_entity_id ou parent_path. Le parent doit exister dans Magento ou se trouver plus haut dans le fichier d’import.

Désinstallation du module

Si le module a été installé via Composer :

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

Avant la désinstallation, assurez-vous que l’historique des imports peut être supprimé. Le module crée la table :

kowal_export_import_categories_history
Cliquer pour passer le carrousel

Nous avons trouvé d'autres produits qui pourraient vous plaire !

Kowal MCP Server pour Magento 2
61,50 €

Commentaires des clients

Prix
Qualité
Assistance
Nie jest efektowny, ale jest użyteczny
Commentaire par Kamil
Ogólnie oceniłbym ten moduł jako bardzo dobre narzędzie dla sklepów Magento 2, które mają rozbudowaną strukturę kategorii, kilka wersji językowych albo regularnie pracują nad SEO i treściami.

1 article

Rédigez votre propre commentaire
Vous commentez : Module Export Import Categories pour Magento 2
Votre notation:
Qualité
Prix
Assistance
loader
Chargement...

Votre évaluation est enrégistrée avec succès. Merci.

Implemented in real Magento 2 stores
Étude de cas : extension de tandembaits.com avec de nouvelles versions linguistiques

Client

tandembaits.com est une boutique en ligne active dans le secteur de la pêche. L’offre de la boutique repose sur un assortiment spécialisé, dans lequel des noms de catégories corrects, des descriptions précises et des URL bien préparées ont une importance directe pour l’ergonomie de la boutique, le SEO et la communication avec les clients dans différents pays.

Défi

Dans le cadre de l’extension de la boutique avec de nouvelles versions linguistiques, le client avait besoin d’un moyen efficace de gérer les catégories dans Magento 2.

Le plus grand problème était la spécificité du secteur de la pêche. Les noms des catégories ne sont pas de simples étiquettes universelles. Ils font souvent référence à des techniques de pêche spécifiques, à des types d’appâts, à des accessoires, à des séries de produits ou à des notions utilisées uniquement par des pêcheurs expérimentés.

Avec 10 versions linguistiques, la gestion manuelle des catégories dans le panneau Magento était trop chronophage et sujette aux erreurs. Le client avait besoin d’un contrôle total sur :

  • les noms des catégories,
  • les URL des catégories,
  • les descriptions des catégories,
  • les métadonnées SEO,
  • les valeurs spécifiques à chaque store view,
  • la cohérence de la structure des catégories entre les versions linguistiques.

L’ampleur du travail couvrait plusieurs dizaines de catégories dans 10 versions linguistiques. Cela signifiait des centaines de valeurs textuelles à préparer, vérifier, corriger et importer.

Problème métier

Le travail standard dans le panneau Magento nécessiterait de modifier chaque catégorie séparément pour chaque store view. Avec plusieurs dizaines de catégories et 10 langues, un tel processus serait lent et difficile à contrôler.

Les principaux risques d’un travail manuel :

  • erreurs dans la sélection du store view,
  • traductions incohérentes des noms de catégories,
  • écrasement accidentel des valeurs par défaut,
  • URL erronées ou dupliquées,
  • absence de vue d’ensemble pratique de toutes les catégories en un seul endroit,
  • difficulté à transmettre les données aux traducteurs ou aux personnes responsables du SEO,
  • absence de moyen simple de valider les changements avant l’enregistrement.

Le client avait besoin d’un processus permettant de préparer les données en masse, de les vérifier avant l’import et d’enregistrer en toute sécurité uniquement les attributs sélectionnés pour un store view donné.

Solution

Pour ce scénario, le module Export Import Categories pour Magento 2 a été utilisé.

Le module a permis d’exporter les catégories dans un fichier CSV, de préparer les données linguistiques en dehors du panneau Magento, puis de réimporter les valeurs dans le store view sélectionné.

Le processus a été basé sur le mode update, car la structure des catégories existait déjà dans la boutique. L’objectif n’était pas de créer un nouvel arbre de catégories, mais de compléter et de corriger les données pour les versions linguistiques suivantes.

Périmètre d’utilisation du module

Dans le projet, les fonctionnalités clés du module étaient les suivantes :

  • export des catégories depuis le store view de base,
  • conservation de entity_id comme identifiant stable de la catégorie,
  • modification de store_view_code vers le code de la version linguistique cible,
  • import en mode update,
  • sélection des attributs spécifiques à importer,
  • gestion des noms de catégories,
  • gestion de url_key,
  • gestion des descriptions des catégories,
  • contrôle des valeurs vides,
  • validation du fichier avant l’import proprement dit,
  • rapport d’import.

Processus mis en place dans le projet

1. Export des catégories

Tout d’abord, un export des catégories a été effectué depuis le store view de base. Le fichier CSV contenait les colonnes système ainsi que les attributs sélectionnés nécessaires à la préparation des versions linguistiques.

Les colonnes système les plus importantes :

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

Les attributs de travail les plus importants :

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

2. Préparation des données linguistiques

Sur la base du CSV exporté, des données distinctes ont été préparées pour chaque version linguistique.

Grâce à cela, les personnes responsables des contenus pouvaient travailler dans une feuille de calcul en visualisant plusieurs catégories à la fois. C’était particulièrement important dans le secteur de la pêche, où les noms des catégories doivent être conformes à la terminologie locale et à la manière réelle dont les clients recherchent les produits.

3. Conservation des identifiants de catégories

Dans les fichiers d’import, entity_id a été conservé afin que le module puisse faire correspondre de manière univoque les lignes du CSV aux catégories Magento existantes.

Cela a permis d’importer les traductions sans risque de créer des catégories dupliquées.

4. Changement de store view

Pour chaque version linguistique, le store_view_code approprié était défini dans le CSV et le même store view était sélectionné dans le formulaire d’import.

Le module validait la cohérence de ces données. Cela a permis de réduire le risque d’importer accidentellement les traductions dans la mauvaise vue de boutique.

5. Import en mode update

L’import était effectué en mode update, en sélectionnant uniquement les attributs devant être modifiés pour la version linguistique donnée.

Grâce à cela, le module n’intervenait pas sur les autres données des catégories.

6. Validation et dry-run

Avant l’import proprement dit, il était possible d’exécuter une validation sans enregistrer les données.

Le mode dry-run permettait de vérifier :

  • si le fichier CSV comportait les bonnes colonnes,
  • si store_view_code correspondait au store view sélectionné,
  • si entity_id pointait vers des catégories existantes,
  • si les attributs sélectionnés existaient dans Magento,
  • si l’import ne contenait pas d’erreurs bloquant l’enregistrement.

7. Rapport après import

Après l’import, le module générait un rapport permettant de vérifier le statut de chaque ligne.

Le rapport était particulièrement utile lors du travail sur plusieurs langues, car il permettait de détecter rapidement d’éventuelles erreurs dans un fichier précis ou une catégorie précise.

Pourquoi le CSV était le bon format

Le CSV était un format pratique pour ce projet, car :

  • il peut être facilement modifié dans une feuille de calcul,
  • il peut être transmis aux traducteurs,
  • il permet de comparer les valeurs entre les langues,
  • il permet de préparer plusieurs versions linguistiques à partir d’un seul export,
  • il permet de travailler sur des colonnes spécifiques sans cliquer manuellement dans le panneau Magento,
  • il permet de garder le contrôle sur entity_id et store_view_code.

Effet

Le module a permis au client de gérer les catégories dans 10 versions linguistiques de manière structurée et répétable.

Au lieu de modifier manuellement chaque catégorie dans le panneau Magento, l’équipe pouvait travailler sur des fichiers CSV, préparer les traductions en masse et importer uniquement les attributs sélectionnés pour un store view donné.

Les principaux avantages :

  • préparation plus rapide des nouvelles versions linguistiques,
  • meilleur contrôle des noms de catégories,
  • contrôle total des URL,
  • gestion plus facile des descriptions de catégories,
  • possibilité de travailler en dehors du panneau Magento,
  • risque d’erreurs réduit avec de nombreux store view,
  • validation des données avant l’enregistrement,
  • reporting des résultats d’import.

Importance pour le SEO

Dans le projet, la possibilité de contrôler url_key, les noms de catégories et les descriptions revêtait une importance particulière.

Pour une boutique opérant en plusieurs langues, la traduction automatique ou la copie accidentelle des noms de catégories n’est pas suffisante. Chaque marché peut utiliser des termes sectoriels différents, et dans la pêche, les différences terminologiques sont particulièrement importantes.

Le module a permis de préparer les valeurs SEO de manière réfléchie pour chaque version linguistique :

  • noms de catégories locaux,
  • URL locales,
  • descriptions adaptées à la langue,
  • méta-titres,
  • méta-descriptions.

Résumé

L’extension de tandembaits.com à 10 versions linguistiques nécessitait un outil permettant de gérer efficacement les catégories Magento 2 au niveau du store view.

Export Import Categories a résolu ce problème en déplaçant le travail d’une édition manuelle dans le panneau Magento vers un processus contrôlé basé sur le CSV, la validation et l’import d’attributs sélectionnés.

En conséquence, le client a obtenu la possibilité de gérer facilement les noms de catégories spécialisés, les URL et les descriptions pour plusieurs langues, sans risque d’écraser accidentellement l’ensemble de la structure des catégories.

Modifier les préférences de cookies