Synchronisation des contenus produits entre vues et boutiques Magento indépendantes
- 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
- Gestion par IA (MCP)
- Non
Description / Synchronisation des contenus produits entre vues et boutiques Magento indépendantes
MAGENTO 2 · ATTRIBUTS · STORE VIEW · REST API
Actualisez les contenus produits de plusieurs boutiques sans ressaisir les données
Vous gérez une boutique B2B, une boutique de détail ou plusieurs installations Magento indépendantes ? Chaque modification de description oblige à répéter les mêmes opérations dans plusieurs interfaces d’administration. Kowal Product Attribute Copy transfère des valeurs d’attributs sélectionnées entre produits existants à l’aide de correspondances enregistrées.
Préparez le contenu où vous le souhaitez, définissez les données à copier et lancez la mise à jour. Votre équipe maintient des descriptions et caractéristiques cohérentes tout en contrôlant les données partagées.
Un contenu. Plusieurs canaux de vente.
01 · Choisissez les données
Définissez les attributs à partager entre produits.
02 · Enregistrez les correspondances
Reliez des produits locaux ou indiquez un SKU distant et une connexion.
03 · Lancez la copie
Individuellement, en masse, via CLI ou après l’enregistrement du produit source local.
Trois directions de copie
- Locale : entre produits et vues de boutique d’une même installation Magento 2.
- Import depuis un Magento distant : d’un produit d’une autre boutique vers un produit et une vue locaux.
- Export vers un Magento distant : d’un produit local vers un produit existant sur un autre serveur.
Les produits peuvent avoir des SKU différents. La connexion enregistrée identifie la vue distante et la correspondance relie un produit local à un SKU distant précis. La boutique distante utilise l’API REST standard de Magento et ne nécessite pas ce module.
Choisissez les données à partager
Sélectionnez les attributs autorisés dans la configuration, par exemple le nom, la description, la description courte et certaines caractéristiques techniques. Les exclusions limitent la portée de la copie. Les champs techniques, tels que SKU, prix, statut, visibilité et stocks, sont exclus de la copie.
Pour les transferts distants, les options select et multiselect sont associées selon des libellés par défaut/admin uniques et strictement identiques. Les différents identifiants d’option n’ont pas à être harmonisés manuellement. Une correspondance absente ou ambiguë interrompt l’opération avant l’enregistrement.
Des modifications individuelles aux mises à jour en masse
- Exécutez une correspondance avec Copy Now ou les enregistrements sélectionnés avec Copy Selected.
- Activez la copie après l’enregistrement d’une correspondance si cela convient à votre organisation.
- Exécutez automatiquement les correspondances locales et les exports après l’enregistrement du produit source local dans l’administration.
- Utilisez CLI pour les opérations manuelles ou votre propre planification externe. Lancez l’import distant manuellement ou via CLI.
- Consultez les résultats, la direction, la connexion et le SKU distant dans l’historique des copies.
Synchronisation des galeries dans une même installation
Pour les correspondances locales, merge ajoute les images manquantes et actualise les métadonnées des entrées correspondantes. replace supprime également de la galerie cible les entrées absentes de la source. Les transferts par API ne copient ni galeries ni fichiers image.
Des connexions distantes maîtrisées
Configurez l’adresse HTTPS, le code et l’identifiant de la vue distante, le jeton Bearer et le délai d’expiration des requêtes. Les jetons sont chiffrés et masqués dans le formulaire. Le module vérifie le certificat HTTPS et la concordance entre le code et l’identifiant de la vue.
Prérequis et périmètre
Paquet kowal/module-product-attribute-copy, module Kowal_ProductAttributeCopy, version 1.1.4. Prérequis du paquet : Magento 2, PHP ^8.1 et l’extension cURL. Les produits ainsi que les définitions et affectations d’attributs compatibles doivent exister des deux côtés.
Le module ne crée ni produits, ni attributs, ni options, ni traductions. Il ne transfère pas les galeries distantes, les relations de catégories ou les prix complexes. Les portées d’attribut Magento s’appliquent toujours : modifier une valeur globale peut affecter d’autres vues. La compatibilité des backends d’attributs personnalisés doit être testée dans la boutique cible.
Choisissez des produits partageant le même contenu et configurez votre première correspondance pour simplifier la prochaine mise à jour du catalogue.
Notice d'installation du module
Installation et configuration de Kowal Product Attribute Copy 1.1.4
De l’installation du paquet à votre première correspondance. Les étapes suivantes couvrent la configuration locale et les connexions à des installations Magento distantes.
1. Prérequis et préparation
Vous devez disposer de Magento 2, PHP ^8.1, de l’extension cURL, d’un accès CLI et administrateur, et des modules Magento Catalog, Store, Ui, Backend et Config. Les produits source et cible doivent exister. Les transferts distants exigent des codes et types d’attributs compatibles, affectés aux jeux d’attributs des produits.
Avant l’installation, sauvegardez la base de données et les fichiers de configuration, y compris la clé de chiffrement dans app/etc/env.php. Vérifiez la première correspondance dans un environnement de test.
2. Installation avec Composer
Exécutez les commandes à la racine de Magento après avoir configuré le dépôt et l’accès au paquet acheté :
composer require kowal/module-product-attribute-copy
bin/magento module:enable Kowal_ProductAttributeCopy
bin/magento setup:upgradeSi vous utilisez un accès VCS au dépôt indiqué dans la documentation, ajoutez-le avant l’installation :
composer config repositories.kowal.product.attribute.copy vcs https://github.com/kowalco/module-product-attr-copyL’accès au dépôt privé nécessite les autorisations et l’authentification Composer. Ne placez pas de jetons dans des scripts publics ou le dépôt du projet.
En mode production, compilez et déployez aussi les ressources statiques en choisissant les langues de la boutique :
bin/magento setup:di:compile
bin/magento setup:static-content:deploy pl_PL en_US
bin/magento cache:flush
bin/magento module:status Kowal_ProductAttributeCopyPour mettre à jour une installation existante, utilisez composer update kowal/module-product-attribute-copy --with-dependencies, puis exécutez setup:upgrade, les étapes de production requises et le rafraîchissement du cache. Ne remplacez pas manuellement les fichiers dans vendor.
3. Configuration de base
Ouvrez Stores > Configuration > Catalog > Product Attribute Copy.
- Vérifiez que Enabled est défini sur Yes.
- Dans Attributes > Allowed Attributes, sélectionnez les champs autorisés, comme
name,description,short_descriptionet certaines caractéristiques. La liste est vide par défaut : aucune valeur d’attribut n’est copiée tant qu’elle n’est pas renseignée. - Vérifiez Excluded Attributes. Les exclusions priment sur la liste autorisée. Conservez l’exclusion des champs techniques.
- Définissez Copy After Product Save et Copy on Mapping Save. Pour le premier test, désactivez l’exécution automatique et copiez manuellement.
- Pour les correspondances locales, choisissez Copy Gallery. Laissez Replace Target Gallery = No pour conserver les images supplémentaires de la cible. Le mode replace supprime les entrées absentes de la source.
- Dans Store Views > Excluded Target Store Views, excluez les vues locales qui ne doivent pas recevoir de copies.
- Enregistrez la configuration. Activer Log Successful Copies facilite la vérification des premières opérations.
Par défaut, le module et Copy After Product Save sont activés, Copy on Mapping Save est désactivé, la galerie utilise merge et la journalisation des réussites est active.
4. Connexion à un Magento distant
Dans la portée Default Config, ouvrez Remote Magento Stores. Ajoutez une ligne distincte pour chaque vue distante.
- Name : un nom de connexion explicite.
- Magento Base URL (HTTPS) : l’adresse de base de Magento, sans
/rest, paramètres ni identifiants de connexion. - Store View Code et Store View ID : le code d’une vue active précise et son identifiant correspondant, supérieur à 0. N’utilisez pas all ou admin.
- Timeout : de 1 à 120 secondes ; un champ vide correspond à 30 secondes.
- API Bearer Token : un jeton accepté comme Bearer autonome par l’installation distante.
Le jeton doit accéder aux produits (Magento_Catalog::products), aux définitions et options d’attributs (Magento_Catalog::attributes_attributes) et à la liste des vues (Magento_Backend::store). L’export nécessite le droit d’enregistrer des produits. Le module ne renouvelle pas les jetons expirés et ne prend pas en charge les signatures OAuth 1.0a.
Les jetons sont chiffrés et masqués dans le formulaire. L’identifiant de connexion est créé automatiquement et conservé lors des modifications. La boutique distante ne nécessite pas l’installation de ce module. Avant la copie, le module vérifie la concordance du code et de l’identifiant de la vue.
5. Création d’une correspondance
Accédez à Catalog > Product Attribute Copy > Mappings et sélectionnez Add New Mapping.
- Local : choisissez le produit et la vue source locaux, puis le produit et la vue cibles.
- Remote → Local (import) : choisissez la connexion, saisissez le SKU distant et indiquez le produit et la vue cibles locaux.
- Local → Remote (export) : indiquez le produit et la vue source locaux, la connexion et le SKU d’un produit distant existant.
Activez la correspondance et enregistrez-la. La source et la cible ne peuvent pas être le même produit dans la même vue locale. Les doublons et les vues cibles locales exclues sont bloqués. Les réglages de la cible locale contrôlent l’import ; ceux de la source locale contrôlent l’export.
6. Exécution et automatisation
Utilisez Copy Now pour une correspondance ou Copy Selected pour les enregistrements sélectionnés. Vérifiez les valeurs cibles et les journaux avant de lancer un lot plus important.
bin/magento kowal:product-attribute-copy:mapping:list
bin/magento kowal:product-attribute-copy:mapping:list --active-only
bin/magento kowal:product-attribute-copy:copy --mapping-id=1
bin/magento kowal:product-attribute-copy:copy --mapping-id=1 --mapping-id=2
bin/magento kowal:product-attribute-copy:copy --allCopy After Product Save concerne les correspondances locales et l’export après l’enregistrement du produit source local dans l’administration. Exécutez l’import distant manuellement ou via CLI. Une planification externe est possible ; le module ne détecte pas lui-même les changements dans la boutique distante.
7. Vérification des résultats et limites
L’historique est disponible dans Catalog > Product Attribute Copy > Copy Logs. Vérifiez le statut, le message, la direction, la connexion et le SKU distant.
- Aucune valeur copiée : vérifiez Allowed Attributes, les exclusions, l’activation de la correspondance et la configuration de la vue locale concernée.
- Erreur select/multiselect : comparez les libellés par défaut/admin exacts et uniques des options dans les deux boutiques.
- Erreur API : vérifiez l’URL HTTPS, le certificat, les droits et la validité du jeton, le SKU distant, le code et l’identifiant de la vue.
- Après l’expiration d’un délai d’export, vérifiez le produit distant avant de réessayer. L’enregistrement distant peut avoir abouti malgré l’erreur de connexion.
- Après une mise à jour, rafraîchissez les caches config/layout/block_html et rouvrez le formulaire de correspondance.
La synchronisation des galeries est exclusivement locale. Aucun produit, définition d’attribut, option ou traduction n’est créé. Les galeries distantes, chemins d’images, relations de catégories et prix complexes ne sont pas transférés. Les portées standard des attributs Magento restent applicables ; un attribut global peut affecter plusieurs vues.