Module Outlet pour Magento 2 - Automatisation des soldes
- 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
Description / Module Outlet pour Magento 2 - Automatisation des soldes
MAGENTO 2 · SOLDES · VARIANTES · AUTOMATISATION
Un outlet toujours à jour, sans nettoyage manuel du catalogue.
Kowal Outlet Products
Ajoutez des produits aux soldes à partir d’une liste de SKU et maintenez la catégorie OUTLET en fonction de leur disponibilité. Gérez les variantes, les produits parents et les copies de prix spéciaux dans un seul processus.
Import de SKU · Configurable et variantes · Prix et CRON
COMMENT ÇA MARCHE EN PRATIQUE
01 · Vous ajoutez une liste de SKU
Vous indiquez les produits et les catégories outlet.
02 · Le module organise l’offre
Il définit l’attribut sale, les affectations et les copies de prix spéciaux.
03 · CRON met à jour l’outlet
Il supprime les articles terminés et actualise les index ainsi que le cache.
Quels bénéfices pour votre boutique ?
Découvrez les fonctionnalités, les cas d’usage et les paramètres du module.
Découvrez le module
Kowal Outlet Products est un module pour Magento 2 qui automatise la gestion des produits outlet, des articles en soldes et des fins de série. La solution aide à garder un catalogue ordonné, à affecter les produits à la catégorie OUTLET, à les marquer avec un attribut dédié et à les retirer de l’outlet lorsqu’ils ne doivent plus être visibles comme offre de déstockage.
Le module a été conçu pour les boutiques où les produits outlet évoluent rapidement : certains sont des produits simples isolés, d’autres sont des variantes de produits configurables, et d’autres encore nécessitent la prise en charge de plusieurs boutiques, de plusieurs websites et de différentes configurations de prix.
Valeur métier principale
Dans Magento standard, la gestion d’un outlet nécessite souvent de surveiller manuellement plusieurs éléments à la fois : catégories, statut du produit, prix spécial, stocks, variantes configurables et cache. Avec un catalogue plus vaste, il est facile de se retrouver avec un produit toujours présent dans OUTLET alors qu’il est épuisé, un parent de produit configurable restant dans la catégorie sans variantes actives, ou un prix spécial restauré d’une manière non conforme à la configuration de la boutique.
Kowal Outlet Products structure ce processus. L’administrateur peut ajouter une liste de SKU à l’outlet, et le module se charge de l’affectation aux bonnes catégories, de la définition de l’attribut OUTLET, de la gestion des parents configurable et du détachement automatique ultérieur des produits une fois la vente terminée.
Fonctionnalités clés
- import massif de produits dans OUTLET à partir d’une liste de SKU,
- affectation des produits à une ou plusieurs catégories outlet,
- prise en charge des produits simples et des variantes de produits configurables,
- marquage automatique des produits avec l’attribut
sale, - affectation des parents configurable à OUTLET lorsque leurs variantes sont outlet,
- détachement automatique des produits de la catégorie OUTLET après épuisement ou désactivation du statut outlet,
- détachement du parent configurable lorsqu’aucune variante n’est plus un produit OUTLET,
- vérification cyclique des produits par cron,
- lancement manuel du recalcul depuis la console Magento,
- actualisation des index et du cache des produits et des catégories,
- prise en charge du stock et des backorders après la fin des soldes,
- sauvegarde et restauration des prix spéciaux,
- prise en charge des configurations multistore et du website scope pour les prix,
- marquages OUTLET sur les swatches de variantes dans la fiche produit.
Fonctionnement du processus OUTLET
L’administrateur choisit les catégories outlet dans la configuration du module. Ensuite, depuis le panneau d’administration, il peut coller une liste de SKU et ajouter les produits aux soldes. Le module affecte les produits à la catégorie OUTLET et définit l’attribut sale.
Pour les produits configurables, le module agit à deux niveaux. Si une variante est outlet, le parent configurable peut également être ajouté à la catégorie OUTLET afin que le client voie le produit dans le listing. Lorsque la variante est épuisée ou cesse d’avoir le statut OUTLET, le module vérifie si le parent possède encore des variantes outlet actives. Si ce n’est pas le cas, le parent est détaché de OUTLET.
Le cron du module vérifie régulièrement l’état des produits. Lorsqu’un produit ne peut plus être vendu, le module le retire des catégories outlet, modifie le statut outlet et actualise les données dans les index ainsi que le cache. Ainsi, le listing de la catégorie OUTLET reste à jour sans intervention manuelle de l’administrateur.
Gestion des prix spéciaux
Le module peut protéger les prix spéciaux contre la perte pendant le cycle OUTLET. Lors de l’ajout d’un produit à l’outlet, le prix spécial actuel est copié dans des attributs techniques. À la fin de l’outlet, le prix peut être restauré ou effacé, selon la configuration.
La sauvegarde couvre :
special_price,special_from_date,special_to_date.
Le module respecte le scope des prix Magento. Si les prix sont globaux, il agit au niveau global. Si les prix sont définis par website, le module enregistre et restaure les valeurs conformément aux store views par défaut des websites. Il n’effectue pas de conversion de devises, car Magento stocke les prix comme valeurs de base pour un scope donné, tandis que les devises des boutiques sont converties par les mécanismes Magento.
Multistore et multidevise
Kowal Outlet Products peut fonctionner dans des installations Magento avec plusieurs store views et websites. Lors de l’import, l’administrateur peut indiquer les websites auxquels le produit doit être affecté. La configuration du module est disponible aux niveaux default, website et store, ce qui permet d’adapter son fonctionnement à la structure de la boutique.
Pour les prix spéciaux, le module ne multiplie ni ne convertit les valeurs entre devises. Il conserve les montants enregistrés dans Magento pour le scope de prix approprié. Cela permet d’éviter les erreurs liées à la conversion manuelle des taux et laisse la présentation des devises aux mécanismes standard de Magento.
Exemple d’utilisation
La boutique vend des vêtements et dispose d’une catégorie OUTLET dans laquelle elle présente les dernières pièces de produits issus de collections précédentes. L’administrateur reçoit une liste de SKU de variantes à mettre en soldes, par exemple :
TSHIRT-BLACK-MTSHIRT-BLACK-LJACKET-NAVY-XLSHOES-WHITE-42
Après avoir collé la liste dans le panneau d’import, le module :
- définit les produits comme OUTLET,
- les affecte à la catégorie
OUTLET, - affecte les parents des produits configurables si leurs variantes sont outlet,
- enregistre une copie des prix spéciaux actuels,
- met éventuellement à jour les paramètres de stock,
- actualise les index et le cache.
Le client voit les produits dans la catégorie OUTLET ainsi que les marquages sur les variantes. Lorsque la dernière pièce d’une variante est vendue, le cron du module détecte que le produit n’est plus salable, le retire de OUTLET et actualise le listing. S’il s’agissait de la dernière variante outlet d’un produit configurable donné, le parent est également retiré de la catégorie OUTLET.
À qui s’adresse ce module
Le module est destiné aux boutiques Magento 2 qui :
- gèrent une section OUTLET ou SALE permanente,
- travaillent souvent avec des fins de série,
- ont des produits configurables avec des variantes ayant différents statuts de soldes,
- souhaitent réduire le travail manuel lors de la mise à jour des catégories,
- ont besoin de contrôler les prix spéciaux dans un environnement multistore,
- veulent éviter les produits obsolètes dans les listings de catégories.
Éléments techniques
- Nom du package Composer :
kowal/module-outletproducts - Nom du module Magento :
Kowal_OutletProducts - Commande CLI :
bin/magento kowal_outletproducts:generate - Panneau de configuration :
Stores > Configuration > kowal > OUTLET Products - Panneau d’import :
kowal > Upload Outlet Products - Principaux attributs produit :
sale,special_price_copy,special_from_date_copy,special_to_date_copy,special_price_copy_active
Résultat du déploiement
Après le déploiement du module, la boutique bénéficie d’un processus cohérent de gestion de l’outlet : les produits arrivent dans les bonnes catégories, les variantes et les parents sont maintenus de manière logique, les prix spéciaux sont sécurisés et les données catalogue sont actualisées après les changements. Les administrateurs peuvent ainsi se concentrer sur la sélection des produits à mettre en soldes plutôt que sur le nettoyage manuel des catégories et du cache.
Planification et paramètres de fin d’outlet
Une planification éprouvée lance le contrôle toutes les 5 minutes (*/5 * * * *). Dans Stores → Configuration → Kowal → OUTLET Products, vous définissez l’activité du module, les catégories, le comportement des prix spéciaux, la gestion du stock et des backorders après les soldes.
La commande bin/magento kowal_outletproducts:generate permet de lancer le recalcul manuellement. Adaptez les paramètres de fin de soldes aux règles de vente des produits dans votre boutique.
Installation via Composer
Package kowal/module-outletproducts, module Kowal_OutletProducts. Après avoir configuré l’accès au référentiel Kowal, installez le package, activez le module, mettez Magento à jour et videz le cache. En production, prévoyez la compilation et le déploiement du contenu statique conformément au processus de la boutique.
De la configuration au résultat
1. Vous ajoutez une liste de SKU
Vous indiquez les produits et les catégories outlet.
2. Le module organise l’offre
Il définit l’attribut sale, les affectations et les copies de prix spéciaux.
3. CRON met à jour l’outlet
Il supprime les articles terminés et actualise les index ainsi que le cache.
Déstockage des dernières tailles
Les tailles sélectionnées d’un t-shirt sont ajoutées à OUTLET. Le produit parent reste visible dans la catégorie lorsqu’il possède des variantes outlet. Après la fin de la vente de la dernière variante, le module organise également l’affectation du parent.
Structurez le cycle des soldes dans Magento
Vous souhaitez adapter le module à votre boutique ? Demandez le déploiement de Kowal Outlet Products 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
Installation et configuration du module Kowal Outlet Products
Informations de base
- Package Composer :
kowal/module-outletproducts - Module Magento :
Kowal_OutletProducts - Type d’application requis : Magento 2
- Dépendance du package :
kowal/base - Commande CLI du module :
bin/magento kowal_outletproducts:generate
Installation via Composer
Ajoutez le référentiel du module :
Les identifiants d’accès au référentiel Composer (adresse e-mail du client et jeton 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 jeton reçu. Exécutez les commandes dans le répertoire racine de Magento.
composer config repositories.kowal composer https://repo.kowal.storeSi le référentiel est privé, configurez le jeton d’accès :
composer config http-basic.repo.kowal.store 'TWOJ_EMAIL_KLIENTA' 'TWOJ_TOKEN'Installez le module :
composer require kowal/module-outletproductsActivez le module :
php bin/magento module:enable Kowal_OutletProductsEffectuez la mise à jour de la base de données :
php bin/magento setup:upgradeDans un environnement de production, lancez la compilation DI et le déploiement des ressources statiques conformément au processus de déploiement de la boutique :
php bin/magento setup:di:compilephp bin/magento setup:static-content:deployVidez le cache :
php bin/magento cache:flushMise à jour d’une installation existante
Après la mise à jour du module, exécutez :
composer update kowal/module-outletproductsphp bin/magento setup:upgradephp bin/magento cache:flushSi la boutique fonctionne en production mode, effectuez également les étapes de déploiement standard :
php bin/magento setup:di:compilephp bin/magento setup:static-content:deploysetup:upgrade est requis, car le module ajoute et met à jour les attributs produit utilisés pour la gestion de OUTLET et des copies de prix spéciaux.
Attributs produit
Le module ajoute ou utilise les attributs suivants :
| Attribut | Signification |
|---|---|
sale | Marque le produit comme OUTLET. |
special_price_copy | Copie de la valeur special_price avant l’entrée du produit dans OUTLET. |
special_from_date_copy | Copie de la date special_from_date. |
special_to_date_copy | Copie de la date special_to_date. |
special_price_copy_active | Marqueur indiquant que la copie du prix spécial a été effectuée. |
Configuration dans le panneau d’administration
Accédez à :
Stores > Configuration > kowal > OUTLET ProductsOptions disponibles :
| Option | Description |
|---|---|
Włącz moduł Outlet | Active ou désactive le fonctionnement du module. |
Usuń ceny specjalne dla produktów po wyprzedaży | Détermine si, après la fin de OUTLET, le prix spécial doit être effacé. Si l’option est désactivée, le module restaurera le prix à partir de la copie. |
Kategorie outletowe | Liste des catégories auxquelles les produits OUTLET sont affectés et dont ils sont ensuite automatiquement retirés. |
Wyłącz zarządzanie stanem magazynowym po wyprzedaży | Permet de désactiver manage_stock après la fin des soldes. |
Włącz backorder po zakończeniu wyprzedaży outletowej | Permet d’activer le backorder et de marquer le produit comme disponible après la fin de la vente outlet. |
La configuration est disponible aux niveaux default, website et store. Les catégories OUTLET utilisées par cron sont récupérées depuis la configuration par défaut.
Configuration de la catégorie OUTLET
- Créez dans Magento une ou plusieurs catégories destinées à l’outlet.
- Assurez-vous que les catégories sont actives et visibles dans le menu ou le listing si elles doivent être accessibles aux clients.
- Dans la configuration du module, sélectionnez toutes les catégories outlet dans le champ
Kategorie outletowe. - Enregistrez la configuration.
- Videz le cache Magento.
php bin/magento cache:flushImport des produits dans OUTLET
Accédez au panneau :
kowal > Upload Outlet ProductsDans le formulaire :
- Collez la liste des SKU, un SKU par ligne.
- Sélectionnez les catégories OUTLET.
- Sélectionnez éventuellement les websites auxquels le produit doit être affecté.
- Choisissez si le module doit activer la gestion des stocks pour les produits importés.
- Cliquez sur
Importuj.
Exemple de liste de SKU :
TSHIRT-BLACK-MTSHIRT-BLACK-LJACKET-NAVY-XLSHOES-WHITE-42Lors de l’import, le module :
- affecte les produits aux catégories OUTLET,
- définit l’attribut
sale, - met à jour les parents configurable,
- crée une copie du prix spécial et des dates de promotion,
- met à jour le stock selon l’option choisie,
- actualise les index et le cache des produits ainsi que des catégories.
Gestion des produits configurables
Si le produit importé est une variante d’un produit configurable, le module recherche le parent et l’affecte à la catégorie OUTLET. Ainsi, le produit configurable apparaît dans le listing de catégorie et le client peut choisir la variante outlet.
Lors du recalcul cyclique, le module vérifie si le parent possède encore des variantes OUTLET actives. Si ce n’est pas le cas, le parent est détaché de la catégorie OUTLET.
Gestion des prix spéciaux
Lors de l’import dans OUTLET, le module enregistre une copie de :
special_price,special_from_date,special_to_date.
La copie est enregistrée conformément au scope de l’attribut du prix spécial dans Magento :
- pour les prix globaux : au niveau global,
- pour les prix par website : au niveau du store view par défaut de chaque website,
- pour les prix par store : au niveau du store view.
Le module ne convertit pas les devises. Magento stocke les prix comme valeurs de base pour le scope approprié, et la présentation des devises sur le frontend reste assurée par les mécanismes standard de Magento.
Le comportement après la fin de OUTLET dépend de l’option Usuń ceny specjalne dla produktów po wyprzedaży :
Tak: le module efface le prix spécial et supprime la copie technique,Nie: le module restaure le prix spécial ainsi que les dates depuis la copie, puis supprime la copie technique.
Cron
Le module dispose d’une tâche cron :
kowal_outletproducts_outletLa tâche lance le helper OUTLET et vérifie cycliquement les produits outlet. Cron retire les produits de la catégorie OUTLET lorsqu’ils ne doivent plus y être visibles, et actualise les index ainsi que le cache.
Après l’installation, assurez-vous que le cron Magento fonctionne correctement :
php bin/magento cron:runDans un environnement de production, cron doit être lancé depuis le crontab système de l’utilisateur de l’application Magento.
Lancement manuel du recalcul
Le recalcul peut être lancé manuellement depuis la CLI :
php bin/magento kowal_outletproducts:generateLa commande exécute le même processus que celui lancé par cron.
Index et cache
Après les modifications, le module actualise les principaux index produit et catalogue :
catalog_product_price,catalog_product_category,catalogsearch_fulltext,inventory,cataloginventory_stock.
Le module nettoie également le cache des tags des produits et des catégories OUTLET, ce qui permet au listing de catégorie de se mettre à jour après un changement de statut ou le détachement d’un produit.
Si nécessaire, vous pouvez forcer une réindexation complète :
php bin/magento indexer:reindexphp bin/magento cache:flushTest après déploiement
Test fonctionnel recommandé :
- Sélectionnez un produit simple avec du stock.
- Définissez-lui un prix spécial et des dates de promotion.
- Ajoutez le produit à OUTLET via le panneau d’import.
- Vérifiez que le produit est apparu dans la catégorie OUTLET.
- Vérifiez que l’attribut
salea la valeurTak. - Pour un produit configurable, vérifiez que le parent est apparu dans OUTLET.
- Modifiez l’état du produit afin qu’il ne soit plus salable.
- Lancez cron ou la commande CLI.
- Vérifiez que le produit a été retiré de la catégorie OUTLET.
- Vérifiez que le prix spécial a été restauré ou supprimé conformément à la configuration.
Problèmes les plus fréquents
Le produit est toujours visible dans OUTLET
Vérifiez :
- si le cron Magento fonctionne,
- si le produit n’a pas encore
sale = 1, - si le produit est affecté à l’une des catégories configurées comme OUTLET,
- si les index et le cache ont été actualisés.
Commandes utiles :
php bin/magento cron:runphp bin/magento indexer:reindexphp bin/magento cache:flushLe parent configurable est toujours dans OUTLET
Vérifiez si l’une des variantes du produit possède encore sale = 1. Le parent est conservé dans OUTLET tant qu’il possède une variante outlet active.
Le prix spécial n’a pas été restauré
Vérifiez :
- si le produit avait été ajouté à OUTLET après l’installation des attributs de copie,
- si l’attribut
special_price_copy_activeétait défini, - si la configuration
Usuń ceny specjalne dla produktów po wyprzedażyest définie surNie, - quel scope de prix est configuré dans Magento.
Les prix diffèrent entre les store views
Vérifiez la configuration du scope des prix dans Magento. Le module ne convertit pas les devises et ne synchronise pas les prix entre les store views. Il restaure les valeurs enregistrées pour le scope de prix approprié.
Désinstallation
Si le module doit être désactivé :
php bin/magento module:disable Kowal_OutletProductsphp bin/magento setup:upgradephp bin/magento cache:flushSuppression du package Composer :
composer remove kowal/module-outletproductsphp bin/magento setup:upgradephp bin/magento cache:flushAvant de supprimer le module, il est recommandé de vérifier si les produits nécessitent un nettoyage manuel de l’attribut sale ou un détachement de la catégorie OUTLET.