Produits associés automatiques pour Magento 2
- 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 / Produits associés automatiques pour Magento 2
MAGENTO 2 · RECOMMANDATIONS · PROFILS · MERCHANDISING
Adaptez les recommandations au produit et à l’étape d’achat.
Kowal Related Products Profiles
Concevez des profils de recommandation basés sur des attributs, des conditions et des filtres. Affichez des listes adaptées sur la fiche produit, dans le panier et le checkout, et complétez ou remplacez les listes natives de Magento.
Conditions et attributs · Grid, Slider, Compact · Related, Upsell, Crosssell
COMMENT CELA FONCTIONNE EN PRATIQUE
01 · Vous créez un profil
Vous choisissez le périmètre, les conditions et le mode de présentation.
02 · Le moteur sélectionne les produits
Il applique le contexte, les correspondances et les filtres cibles.
03 · La liste apparaît dans la boutique
Elle est rendue à l’emplacement choisi pour le profil.
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
Créez des recommandations produit intelligentes dans Magento 2 sans vous limiter aux relations rigides related, upsell et cross-sell.
Kowal_RelatedProductsProfiles est un module qui vous permet de concevoir vos propres scénarios de recommandation à partir de profils, d’attributs produits, de conditions d’activation, de filtres cibles et d’une intégration flexible dans le layout de la boutique. Les recommandations cessent ainsi d’être une liste statique et deviennent une composante de la stratégie commerciale de la boutique.
Transformez de simples listes de produits en véritables scénarios de vente
Dans Magento standard, les produits associés sont souvent trop simples pour répondre à des implémentations plus exigeantes. Une boutique peut vouloir afficher certains produits sur la fiche produit, d’autres dans le panier et d’autres encore dans le checkout. Parfois, la liste doit fonctionner uniquement pour certains groupes de clients, uniquement pendant une campagne saisonnière ou uniquement lorsque le produit répond à des conditions catalogue précises.
Ce module a été conçu précisément pour ces cas.
Au lieu de relier manuellement les produits entre eux, vous créez un profil de recommandation. Le profil définit :
- où il doit fonctionner,
- pour quel produit il doit s’activer,
- comment sélectionner les produits cibles,
- comment les filtrer et les trier,
- à quoi ils doivent ressembler,
- où ils doivent être rendus,
- et s’ils doivent alimenter les listes natives de Magento.
Un seul outil, de nombreux emplacements d’implémentation
Le module fonctionne dans les zones clés de la boutique :
- sur la fiche produit,
- dans le panier,
- dans le checkout,
- dans les blocs natifs
Related Products, - dans les blocs natifs
Upsell Products, - dans les blocs natifs
Crosssell Products.
Cela signifie qu’un seul profil peut faire partie de plusieurs scénarios de merchandising différents, sans que l’équipe d’implémentation ait à créer une logique distincte pour chaque emplacement de la boutique.
Des profils qui s’adaptent à votre catalogue
La plus grande force du module est que les recommandations peuvent être créées non seulement manuellement, mais aussi dynamiquement à partir des attributs produits.
Vous pouvez créer des profils qui :
- sélectionnent des produits de la même collection,
- recherchent des produits avec le même visuel,
- affichent des produits de la même catégorie,
- mettent en avant une autre base de produits liée au produit consulté,
- restreignent le résultat à des types de produits précis,
- fonctionnent uniquement pour certains store view et groupes de clients.
Un exemple ?
Le client consulte un rashguard avec le visuel HALLOWEEN 25. Le profil peut trouver automatiquement les produits utilisant le même visuel dans d’autres lignes de produits, par exemple des shorts, des leggings ou des accessoires. Un autre profil peut, à son tour, utiliser ce même produit comme contexte dans le panier et proposer au client de compléter sa commande avec des produits issus d’une base d’assortiment sélectionnée.
Créez des recommandations à partir de conditions, pas d’exceptions
Chaque profil peut avoir ses propres :
Activation Conditions,Matching Rules,Target Product Filters,- tri,
- limites de produits,
- variante de rendu,
- plage temporelle d’activité.
En pratique, cela offre une très grande liberté.
Vous pouvez créer un profil qui se déclenche uniquement pour les produits avec l’attribut brand = Nike, uniquement dans la boutique B2C, uniquement pour les clients particuliers et uniquement pendant une campagne précise. Vous pouvez aussi créer un profil qui utilise le produit du panier comme point de référence et propose des accessoires à partir de caractéristiques catalogue communes.
Ce n’est plus une simple liste de produits. C’est un moteur de recommandation basé sur des règles, que vous pouvez adapter au modèle de vente réel de la boutique.
Choisissez le produit qui servira de contexte
Sur la fiche produit, le contexte est le produit en cours. Mais dans le panier et le checkout, cette réponse n’est pas toujours évidente. C’est pourquoi le module permet de définir Context Strategy, c’est-à-dire la méthode de sélection du produit contextuel.
Vous pouvez décider que les profils doivent s’appuyer sur :
- le premier produit du panier,
- le dernier produit ajouté,
- le produit au prix le plus élevé.
Cette flexibilité fait une grande différence dans les projets où le client ajoute plusieurs produits différents au panier et où les recommandations doivent découler d’une logique métier précise.
Des scénarios distincts pour le produit, le panier et le checkout
Ce qui fonctionne bien sur la PDP n’a pas toujours de sens dans le panier. Le module permet de séparer ces scénarios sans multiplier les extensions.
Sur la fiche produit, vous pouvez afficher une liste de produits de la même collection ou du même style. Dans le panier, vous pouvez promouvoir des accessoires qui augmentent la valeur de la commande. Dans le checkout, vous pouvez préparer une liste plus simple et plus prudente de produits soutenant le cross-sell.
Tout cela au sein d’un seul système de profils.
Alimentez les listes natives Magento : append ou replace
Toutes les boutiques ne souhaitent pas abandonner immédiatement les mécanismes natifs de Magento. C’est pourquoi le module prend en charge l’intégration avec :
Related Products,Upsell Products,Crosssell Products.
Chaque profil peut fonctionner dans l’un des deux modes suivants :
append
conserve les produits natifs et y ajoute les résultats du module,replace
remplace entièrement la liste native par les produits du profil.
C’est une solution d’implémentation très pratique. Vous pouvez commencer par enrichir légèrement les listes Magento existantes, puis passer ensuite à un pilotage complet des recommandations depuis les profils.
Rendez les listes exactement là où vous le souhaitez
Un avantage important du module est la possibilité de contrôler l’emplacement de rendu à l’aide de champs XML assignés au profil.
Au lieu d’adapter le module à une mise en page rigide unique, vous pouvez intégrer la liste exactement là où le projet en a besoin :
- sous la description du produit,
- sous le prix,
- sous le formulaire d’achat,
- dans une section supplémentaire,
- dans votre propre conteneur de thème,
- à un emplacement issu d’un layout frontend personnalisé.
C’est particulièrement important dans les boutiques basées sur des thèmes complexes ou fortement modifiés. Le module ne vous impose pas une seule mise en page. C’est vous qui décidez où et comment le profil doit être intégré.
Trois variantes de présentation sur le frontend
Le module ne s’arrête pas à la logique de sélection des produits. Il permet aussi d’adapter le mode de présentation de la liste au caractère de la page et au type d’implémentation.
Les variantes disponibles sont :
Grid,Slider,Compact.
Vous pouvez donc utiliser le même moteur de recommandation aussi bien pour une section développée sur la fiche produit que pour une liste compacte dans le panier ou un module plus condensé dans le checkout.
S’ajoute à cela le contrôle des éléments d’affichage :
- nom du produit,
- prix,
- prix régulier,
- courte description,
- bouton d’ajout au panier,
- rôle de l’image.
La création de nouveaux profils est claire et scalable
Le module a été conçu pour que l’équipe d’implémentation ou l’agence puisse développer de nouveaux scénarios sans reconstruire toute la solution.
Lors de la création d’un nouveau profil, vous configurez :
- les informations administratives de base,
- les placements et le périmètre d’action,
- les store view et les groupes de clients,
- la stratégie de contexte,
- la période d’activité,
- les conditions d’activation,
- les règles de correspondance,
- les filtres des produits cibles,
- le tri et le mode d’affichage,
- l’intégration avec les listes natives Magento,
- l’intégration via XML.
Cela signifie qu’un nouveau scénario de merchandising ne nécessite pas immédiatement un nouveau module custom. Très souvent, un profil supplémentaire suffit.
1. Même visuel, autre base de produits
Le client consulte un produit d’une ligne précise. À partir des matching rules, le module recherche des produits avec le même visuel, mais issus d’autres familles d’assortiment. C’est un excellent scénario pour les marques lifestyle, sportives et fashion.
2. Cross-sell basé sur le produit du panier
Le client a déjà un produit sélectionné dans son panier. Le profil l’utilise comme contexte et sélectionne des accessoires adaptés à l’achat, sans qu’ils soient reliés manuellement comme cross-sell natif.
3. Campagne limitée dans le temps
Vous avez besoin de recommandations actives uniquement pendant une opération commerciale précise ? Il suffit de configurer un profil avec From Date et To Date, sans créer de logique supplémentaire.
4. Remplacement des upsells natifs
Si les upsells standard de Magento sont trop simplifiés, le profil peut reprendre ce rôle et fonctionner en mode replace, en offrant une correspondance produit beaucoup plus précise.
5. Intégration avec un thème personnalisé
Grâce aux champs XML, la liste peut être intégrée exactement là où le frontend du projet l’exige, sans créer une nouvelle extension dédiée au layout.
À qui s’adresse ce module
Kowal_RelatedProductsProfiles sera particulièrement utile pour :
- les agences d’implémentation Magento 2,
- les software houses qui développent des boutiques e-commerce,
- les marchands qui souhaitent rendre la logique de recommandation indépendante des relations maintenues manuellement,
- les projets avec un catalogue étendu et de nombreux attributs métier,
- les boutiques utilisant des thèmes personnalisés et des layouts complexes.
Ce que vous gagnez
En achetant le module, vous obtenez non seulement une nouvelle liste de produits, mais aussi un outil pour concevoir vos propres scénarios de recommandation dans Magento 2.
C’est une solution qui :
- augmente la flexibilité de l’implémentation,
- structure la logique de merchandising,
- réduit le besoin d’écrire de nouvelles exceptions dans le code,
- exploite mieux les attributs catalogue,
- permet de développer la boutique sans reconstruire tout le mécanisme de recommandation.
Si les related, upsell et cross-sell standard sont trop limités pour votre projet, Kowal_RelatedProductsProfiles apporte une couche de pilotage que Magento ne propose tout simplement pas par défaut.
Package actuel et contrôle supplémentaire de l’affichage
La description concerne le moteur Kowal_RelatedProductsProfiles, disponible sous forme de kowal/module-related-products-profiles. Il s’agit d’un package distinct de l’ancien Kowal_AutomaticRelatedProducts. Lors de l’implémentation, choisissez le package adapté à la fonctionnalité décrite.
Le code actuel permet également de rendre les affectations natives Related, Upsell et Crosssell dans le template du module sans modifier la sélection des produits. Des paramètres d’apparence par liste et de déplacement des blocs Related/Upsell sont disponibles.
Conditions d’implémentation
Composer déclare PHP dans les plages ^8.1, ^8.2 ou ^8.3 ainsi que la dépendance kowal/base. Après l’installation, activez le module, créez un profil et vérifiez ses conditions, sa plage temporelle, le contexte du panier et l’emplacement de présentation choisi.
Adaptez l’intégration via XML et le fonctionnement dans le checkout au thème utilisé. Les recommandations résultent des règles et des données catalogue ; le module ne nécessite pas de modèle AI pour sélectionner les produits.
Installation via Composer
Package kowal/module-related-products-profiles, module Kowal_RelatedProductsProfiles. 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, prévoyez la compilation et le déploiement des contenus statiques conformément au processus de la boutique.
De la configuration au résultat
1. Vous créez un profil
Vous choisissez le périmètre, les conditions et le mode de présentation.
2. Le moteur sélectionne les produits
Il applique le contexte, les correspondances et les filtres cibles.
3. La liste apparaît dans la boutique
Elle est rendue à l’emplacement choisi pour le profil.
Même visuel, produits complémentaires
Le client consulte un rashguard avec le visuel HALLOWEEN 25. Le profil compare l’attribut du visuel et propose des shorts, des leggings ou des accessoires correspondants issus d’autres familles d’assortiment.
Un second profil peut utiliser le produit du panier pour proposer un complément de commande.
Développez vos recommandations à partir des données du catalogue
Vous souhaitez adapter le module à votre boutique ? Demandez l’implémentation de Kowal Related Products Profiles et discutez de la configuration ou des extensions nécessaires.
Caractéristiques
Change Log
Version : 1.1.22
22.05.2026
Ajouté
- Ajout d’un data patch d’installation de profils d’exemple avec trois profils par défaut :
relatedcrosselupsell
- Ajout de la gestion de la position des blocs natifs de page produit pour les blocs Related et Upsell.
- Ajout de listes déroulantes d’administration pour les positions des blocs Related et Upsell.
- Ajout des cibles de position prises en charge sur la page produit :
contentcontent.asidesidebar.mainsidebar.additionalproduct.info.mainproduct.info.mediaproduct.info.details
- Ajout des champs de profil
related_block_positionetupsell_block_position.
Modifié
- L’injection native Magento Related, Upsell et Crosssell remplace désormais la sortie du bloc natif par une sortie rendue par le module lorsque la checkbox correspondante est activée.
- Le mode
Appendrend désormais les produits natifs Magento plus les produits du profil dans la sortie du module. - Le mode
Replacerend désormais uniquement les produits du profil dans la sortie du module. - Related Products utilise par défaut le mode
replace. - Les boutons d’action du profil dans l’administration ont été déplacés en haut du formulaire dans l’ordre de style Magento :
- Back
- Delete
- Save and Continue
- Save Profile
- L’intégration ACL/menu de l’administration a été alignée avec la structure de menu
Kowal_Base:Kowal.co > Modules > Related Product Profiles > Profiles- la configuration reste dans la configuration Stores de Magento.
Corrigé
- Prévention du rendu dupliqué sur la vitrine lorsqu’un profil est pris en charge par un remplacement de liste native Magento.
- Correction de la visibilité de l’entrée de menu Profiles pour les rôles administrateur limités en reliant les ressources de menu et ACL à l’arborescence des modules Kowal.
- Conservation des produits des listes natives Magento pour le mode
Appendtout en évitant la récursion lors de la collecte des éléments natifs.
Notice d'installation du module
Installation et configuration du module
Ce document décrit l’installation du module Kowal_RelatedProductsProfiles ainsi que la configuration de base d’un profil de recommandation de produits dans le panneau Magento.
Prérequis
- Magento 2 avec prise en charge des modules Composer.
- PHP compatible avec le projet :
^8.1,^8.2ou^8.3. - Module de base
kowal/baseinstallé, car le menu d’administration utilise la structureKowal.co > Modules. - Accès administrateur au CLI Magento.
Installation via Composer
- Ajoutez le dépôt du module :
Les identifiants d’accès au dépôt Composer, adresse e-mail du client et 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- Configurez les identifiants d’accès au dépôt Composer Kowal :
composer config http-basic.repo.kowal.store 'TWOJ_EMAIL_KLIENTA' 'TWOJ_TOKEN'- Installez le module :
composer require kowal/module-related-products-profiles- Activez le module :
php bin/magento module:enable Kowal_RelatedProductsProfiles- Effectuez la mise à jour de la base de données :
php bin/magento setup:upgradePendant setup:upgrade, le module crée la table des profils et lance un data patch avec trois profils d’exemple : related, crossel, upsell. Le patch n’écrase pas les profils existants ayant les mêmes codes.
- En mode production, reconstruisez le dependency injection :
php bin/magento setup:di:compile- Videz le cache :
php bin/magento cache:flushConfiguration globale de base
Accédez à :
Stores > Configuration > Kowal > Related Product Profiles
Définissez :
Enable Frontend Output:YesEnable Debug Logging:Noen production,Yesuniquement pour diagnostiquer le fonctionnement des profils
Enregistrez la configuration et videz le cache si Magento vous le demande.
Autorisations administratives
Le module ajoute des ressources ACL pour les profils et la configuration.
Accès à la liste des profils :
Kowal > Modules > Related Product Profiles > Profiles
Accès à la configuration :
Stores > Settings > Configuration > Related Product Profiles Configuration
Pour un utilisateur de démonstration qui doit gérer uniquement les profils, accordez l’autorisation Profiles. Si l’utilisateur doit également modifier le paramètre global d’activation du module, accordez-lui aussi la ressource de configuration.
Où gérer les profils
La liste des profils se trouve dans le menu :
Kowal.co > Modules > Related Product Profiles > Profiles
Depuis la liste, vous pouvez ajouter un nouveau profil, modifier un profil existant ou supprimer un profil.
Exemple de configuration du profil Related Products
L’exemple suivant crée un profil qui remplace le bloc Magento natif Related Products sur la fiche produit. Les produits seront sélectionnés selon le même attribute_set_id, c’est-à-dire à partir du même jeu d’attributs que le produit consulté par le client.
1. Création du profil
Accédez à :
Kowal.co > Modules > Related Product Profiles > Profiles
Cliquez sur Add New Profile.
2. Section General
Définissez :
Name:Related ProductsCode:relatedIs Active: cochéSort Order:0Placements: choisissezProduct PageStore Views: choisissezAll Store ViewsCustomer Groups: choisissezAll Customer GroupsContext Strategy:First matching itemFrom Date: videTo Date: vide
Remarques :
- Pour la fiche produit, le contexte est toujours le produit actuellement consulté.
Context Strategya une importance pratique surtout pour le panier et le checkout.Codedoit être unique.
3. Section Activation Conditions
Ajoutez une condition :
| Code d’attribut | Opérateur | Valeur |
|---|---|---|
status | Equals | 1 |
Signification :
- Le profil ne se déclenchera que si le produit contextuel est actif.
- Si la condition n’est pas remplie, l’ensemble du profil sera ignoré.
4. Section Matching Rules
Ajoutez une règle :
| Attribut source | Attribut cible | Opérateur | Obligatoire | Politique de valeur vide | Valeur par défaut |
|---|---|---|---|---|---|
attribute_set_id | attribute_set_id | Equals | coché | Skip Rule | vide |
Signification :
- Le module récupérera
attribute_set_iddu produit actuel. - Il trouvera ensuite les produits ayant le même
attribute_set_id. Requiredsignifie que le produit cible doit respecter cette règle.
Exemples alternatifs de règles :
brand->brand, opérateurEquals: produits de la même marque.category_ids->category_ids, opérateurCategory Intersects: produits ayant au moins une catégorie commune.color->color, opérateurEquals: produits de la même couleur.
5. Section Target Product Filters
Ajoutez un filtre :
| Code d’attribut | Opérateur | Valeur |
|---|---|---|
status | Equals | 1 |
Signification :
- Seuls les produits actifs seront affichés dans les résultats.
Vous pouvez éventuellement ajouter un filtre de visibilité :
| Code d’attribut | Opérateur | Valeur |
|---|---|---|
visibility | In List | 2,3,4 |
6. Section Sorting & Display
Définissez :
Sort Attribute:entity_idSort Direction:DESCSecondary Sort Attribute: videSecondary Sort Direction:NoneTitle:Related ProductsSubtitle: videProducts Limit:8Template Variant:SliderImage Role:category_page_gridShow Price: cochéShow Old Price: décochéShow Add To Cart: cochéShow Product Name: cochéShow Short Description: décochéShow Badges: décochéHide If Empty: cochéExclude Current Product: cochéExclude Quote Products: cochéExclude Out Of Stock: coché
Signification des champs les plus importants :
Template Variantcontrôle l’apparence de la liste :Grid,SliderouCompact.Products Limitlimite le nombre de produits dans les résultats.Exclude Current Productempêche l’affichage du produit actuellement consulté dans les résultats.Exclude Out Of Stocksupprime les produits indisponibles.
7. Section Native Magento Lists
Pour Related Products, définissez :
- checkbox
Related Products: coché Mode:ReplacePosition:Magento default position
Signification :
- Cocher la checkbox signifie que le module prend en charge le bloc Magento natif
Related Products. Replacesignifie que seuls les produits du profil seront affichés dans le bloc pris en charge.Appendsignifie que le module affichera les produits natifs Magento plus les produits du profil.Positionpermet de déplacer le bloc vers un autre emplacement de la fiche produit.
Exemples de positions :
Magento default position: laisse le bloc à l’emplacement défini par le thème Magento.sidebar.additional: déplace le bloc vers la sidebar supplémentaire.sidebar.main: déplace le bloc vers la sidebar principale.content: déplace le bloc vers le contenu principal de la page.content.aside: déplace le bloc vers la zone latérale du content.product.info.main: déplace le bloc vers la colonne principale d’informations produit.product.info.media: déplace le bloc vers la zone de galerie produit.product.info.details: déplace le bloc vers la zone des détails ou des onglets produit.
Si le conteneur sélectionné n’existe pas dans le thème actuel, Magento laissera le bloc à son emplacement par défaut.
Pour Upsell Products et Crosssell Products, laissez les checkbox décochées dans cet exemple.
8. Section Layout XML
Pour cet exemple, laissez les champs vides :
Product Page XML: videEdit Cart XML: videCheckout XML: vide
Il n’est pas nécessaire d’ajouter de XML si vous utilisez la section Native Magento Lists. XML est utile lorsque le profil doit être rendu comme bloc supplémentaire du module en dehors des listes natives Magento.
9. Enregistrement du profil
Cliquez sur :
Save Profilepour enregistrer et revenir à la liste des profilsSave and Continuepour enregistrer et rester sur le formulaire
Après l’enregistrement, videz le cache Magento si le résultat n’est pas immédiatement visible sur le frontend.
Exemple de configuration Upsell dans la sidebar
Si vous souhaitez déplacer Upsell Products vers sidebar.additional :
- Dans
Placements, choisissezProduct Page. - Dans
Native Magento Lists, cochezUpsell Products. - Définissez
Mode:Append, si vous souhaitez afficher les upsells natifs Magento plus les produits du profil.Replace, si vous souhaitez afficher uniquement les produits du profil.
- Définissez
Position:Additional sidebar - sidebar.additional. - Choisissez
Template Variant: en général,Compactconvient bien à la sidebar.
Exemple de configuration Crosssell dans le panier
Pour le crosssell :
- Dans
Placements, choisissezEdit Cart. - Dans
Native Magento Lists, cochezCrosssell Products. - Définissez
Mode: le plus souventReplace. Positionn’est pas disponible pour crosssell, car le positionnement concerne actuellement uniquement les blocs sur la fiche produit.
Diagnostic
Si le profil n’affiche pas de produits :
- Vérifiez que le module est activé dans la configuration.
- Vérifiez que
Is Activeest coché pour le profil. - Vérifiez que
Placementscorrespond à l’emplacement où vous testez le profil. - Vérifiez les conditions dans
Activation Conditions. - Vérifiez que le produit contextuel possède les valeurs d’attributs utilisées dans
Matching Rules. - Désactivez temporairement
Exclude Out Of Stocksi vous testez sur des produits sans stock. - Activez
Enable Debug Logginguniquement pendant le diagnostic.
Commandes après le déploiement des changements
Après la mise à jour du module, exécutez :
php bin/magento setup:upgradephp bin/magento cache:flushEn mode production, exécutez en plus :
php bin/magento setup:di:compile