Google Indexing API pour Magento 2
50,00 € 50,00 €
kowal/module-product-features est un module Magento 2 conçu pour présenter les caractéristiques les plus importantes d’un produit directement sur sa fiche. L’extension transforme les données enregistrées dans les attributs Magento en sections lisibles, esthétiques et repliables, qui aident le client à comprendre plus rapidement le produit, à comparer ses paramètres et à prendre une décision d’achat.
Le module a été conçu pour les boutiques où le tableau d’attributs standard ne suffit pas : les produits comportent des caractéristiques d’usage, des applications, des technologies, des niveaux de paramètres, des certifications, des visuels, des icônes ou des descriptions CMS supplémentaires. Au lieu de les afficher sous la forme d’une longue liste technique, la boutique peut les présenter comme des sections structurées adaptées au contexte du produit.
Les clients qui consultent une fiche produit recherchent généralement des réponses à des questions précises :
Le module répond à ces besoins en transférant les caractéristiques produit du niveau des données administratives techniques vers une couche de présentation claire orientée achat. Le client n’a pas besoin d’analyser des noms d’attributs bruts ni de longs tableaux. Il obtient des sections décrites dans un langage commercial, enrichies d’icônes, d’échelles, d’images ou de blocs de contenu.
Le module permet de structurer les informations produit d’une manière qui soutient les ventes et le service client :
Le module affiche sur la fiche produit un ensemble de sections configurables. Chaque section peut utiliser un seul attribut produit ou agréger plusieurs attributs dans un même bloc. L’administrateur décide quelles caractéristiques sont visibles, dans quel ordre elles apparaissent et avec quel type de présentation elles sont rendues.
Fonctionnalités principales :
Sur la page produit, le module ajoute un bloc contenant les caractéristiques du produit. Les sections comportent un en-tête, un contenu et une icône indiquant l’état d’ouverture. Ainsi, la fiche produit reste bien structurée même lorsque le produit contient beaucoup d’informations supplémentaires.
Les sections peuvent être ouvertes ou repliées par défaut. Cela permet de mettre immédiatement en avant les informations les plus importantes, tout en laissant les contenus d’aide, tels que les spécifications, la livraison, les retours ou les descriptions plus longues, accessibles au clic.
Si le produit n’a pas de valeur pour l’attribut utilisé dans une section donnée, le module peut masquer cette section automatiquement. Ainsi, le client ne voit que les informations réellement liées au produit consulté.
Le module prend en charge plusieurs façons de présenter les données produit.
Le type scale sert à afficher des attributs de type dropdown ayant 2 ou 3 valeurs. Le client voit le contexte complet de l’échelle, et la valeur sélectionnée pour le produit est mise en avant.
Exemples d’utilisation :
Ce type de présentation est plus lisible qu’une simple valeur textuelle, car il montre où le produit se situe par rapport aux autres possibilités.
Le type swatch_list présente les valeurs sélectionnées d’un attribut multiselect avec leur swatch. Il peut s’agir d’une icône, d’une couleur ou d’un libellé textuel configuré dans Magento.
Exemples d’utilisation :
Le client obtient une courte liste des valeurs attribuées au produit, enrichie d’un élément visuel.
Le type multiselect_icon permet d’utiliser les icônes attribuées aux options d’attribut dans le module Amasty ShopbyBrand / ShopbyBase. Si une option dispose d’une image dans le champ Small Image, le module peut l’afficher à côté du libellé.
Cette solution est utile lorsque la boutique gère déjà des icônes de caractéristiques, de marques, de sports ou d’usages dans la configuration Amasty et souhaite réutiliser ces mêmes éléments sur la fiche produit.
Le type cms_blocks utilise l’attribut produit blocks_id. L’administrateur attribue au produit des blocs CMS actifs, et le module rend chaque bloc sélectionné comme une section repliable distincte.
Exemples d’utilisation :
Ainsi, les contenus descriptifs peuvent être gérés à l’aide des blocs CMS standard de Magento et attribués uniquement à certains produits.
Le module prend également en charge les données d’attribut classiques :
Cela permet de construire aussi bien une section simple avec un seul paramètre qu’une spécification plus développée à partir de plusieurs attributs.
Pour les données spécifiques, le module propose des modes de présentation dédiés :
yes_no pour les valeurs oui/non,checkmark pour les caractéristiques positives,date pour les dates conformes à la localisation de la boutique,price pour les valeurs monétaires formatées dans la devise de la boutique,number_with_unit pour les nombres avec unité,range_bar pour les valeurs affichées sous forme de barre de plage,rating_dots pour les notes ou niveaux représentés par des points.Ces variantes permettent d’adapter le format des données à la manière dont le client les lit naturellement.
Le module prend également en charge les attributs image :
Cela peut servir à présenter des icônes de technologies, des certifications, des pictogrammes, des marquages produit ou des visuels informatifs supplémentaires.
L’apparence du module repose sur la configuration d’administration et les variables CSS. La boutique peut définir les couleurs globales, l’arrière-plan des sections, les couleurs du texte, les accents, les bordures, les arrondis, les espacements et les tailles de police sans modifier les fichiers de template.
En complément, le module prend en charge les profils d’apparence. Ainsi, une section peut avoir une apparence standard, une autre un style plus compact, et une autre encore peut être mise en avant avec une couleur ou un accent différent. C’est utile pour mettre en évidence des contenus importants, par exemple des certifications, des technologies ou des informations influençant la décision d’achat.
Le module est particulièrement adapté aux boutiques où le produit nécessite des explications :
Un exemple de disposition sur la fiche produit peut inclure :
Caractéristiques du produit avec plusieurs échelles,Utilisation sous forme de liste d’icônes,Technologies sous forme de liste de swatches,Spécifications sous forme de tableau d’attributs,Livraison, Retours et Mode d’emploi.kowal/module-product-features structure les informations produit et permet de les présenter dans une forme adaptée à la décision d’achat du client. Le module utilise les mécanismes existants de Magento : attributs produit, swatches, blocs CMS, Store View et configuration système, puis les transforme en sections lisibles sur la page produit.
Le résultat est une fiche produit qui explique mieux la valeur du produit, est plus facile à parcourir et donne aux administrateurs un meilleur contrôle sur la manière dont les caractéristiques du produit sont communiquées aux clients.
Ce document décrit la configuration du module kowal/module-product-features, la signification de tous les champs d’administration ainsi que le travail avec les attributs côté produit.
Le module est destiné à une installation via Composer.
composer config repositories.module.product.features vcs https://github.com/kowalco/product-featurescomposer config --global --auth github-oauth.github.com composer require kowal/module-product-featuresbin/magento module:enable Kowal_ProductFeaturesbin/magento setup:upgradebin/magento cache:flush Après le déploiement en production, il convient d’exécuter les commandes standard propres au projet, par exemple la compilation DI et le déploiement des assets statiques, conformément au mode de fonctionnement de Magento.
La configuration du module se trouve dans le panneau d’administration Magento :
Stores > Configuration > Catalog > Product Features
Les paramètres d’apparence se trouvent dans un groupe séparé :
Stores > Configuration > Catalog > Product Features Appearance
Les champs de configuration sont disponibles aux niveaux Default, Website et Store View. Ainsi, différents store views peuvent avoir des sections de caractéristiques ou une apparence différentes.
Active ou désactive le module pour l’étendue de configuration donnée.
Valeurs :
Yes - les sections de caractéristiques produit sont rendues sur la fiche produit,No - le module ne renvoie aucune section et le bloc n’apparaît pas sur le frontend.Utilisation : désactivation rapide du module pour l’ensemble de la boutique, un Website sélectionné ou un Store View sans supprimer la configuration des sections.
Liste des sections rendues sur la fiche produit. Chaque ligne définit une section frontend ou un groupe de sections si le type cms_blocks est utilisé.
Active ou désactive une section individuelle.
Valeurs :
Yes - la section participe au rendu,No - la section est ignorée.Utilisation : masquage temporaire d’une section sans supprimer ses paramètres.
Titre de la section visible sur la fiche produit.
Exemples :
Caractéristiques du produit,Utilisation sportive,Spécifications,Technologies,Livraison.Utilisation : le nom doit être compréhensible pour le client, il n’a pas besoin de correspondre au nom technique de l’attribut.
Remarque : pour le type cms_blocks, le titre de la section enfant est récupéré à partir du titre du bloc CMS.
Attribut produit unique utilisé par la section. Le champ se présente sous forme de dropdown contenant la liste des attributs produit.
Utilisation : utilisez ce champ lorsque la section repose sur un seul attribut, par exemple sport_usage, blocks_id, material, technology_icon.
Liste de plusieurs attributs produit utilisés par une même section. Le champ se présente sous forme de multiselect.
Utilisation : utilisez ce champ lorsqu’une section doit agréger plusieurs caractéristiques, par exemple plusieurs échelles dans la section Caractéristiques du produit ou plusieurs paramètres dans la section Spécifications.
Exemple : la section Caractéristiques du produit peut contenir les attributs fit, resistance, stretch et breathability, tous rendus sous forme d’échelles.
Détermine le mode de présentation de la valeur d’attribut.
La valeur vide Auto signifie une sélection automatique du renderer :
blocks_id est rendu comme cms_blocks,swatch_list,scale,selected_label,text_list,checkmark,date,price,text_block,image,text_inline.Types disponibles :
| Type | Utilisation |
|---|---|
scale | Échelle pour un attribut select avec 2 ou 3 options. |
swatch_list | Liste des valeurs multiselect sélectionnées avec swatch Magento. |
multiselect_icon | Liste des valeurs multiselect sélectionnées avec icône Amasty ShopbyBrand / ShopbyBase. |
cms_blocks | Sections distinctes créées à partir des blocs CMS attribués via blocks_id. |
text_inline | Valeur textuelle courte. |
text_block | Texte plus long. |
html_block | Contenu HTML provenant de l’attribut. |
accordion_text | Contenu HTML/texte dans une section repliable. |
key_value | Lignes libellé-valeur. |
table | Données techniques sous forme de tableau. |
selected_label | Libellé de l’option sélectionnée d’un attribut select. |
text_list | Liste textuelle des valeurs multiselect sélectionnées. |
badge | Valeur unique sous forme de badge. |
badge_list | Liste de valeurs sous forme de badges. |
icon_value | Valeur unique avec icône. |
icon_list | Liste de valeurs avec icônes. |
swatch_grid | Valeurs multiselect sélectionnées dans une grille de swatches. |
yes_no | Valeur boolean sous forme de Yes ou No. |
checkmark | Valeur boolean comme caractéristique positive ; visible uniquement pour la valeur vraie. |
date | Date formatée selon la boutique. |
price | Prix formaté par Magento. |
number_with_unit | Nombre avec unité. |
range_bar | Nombre affiché sous forme de barre de plage. |
rating_dots | Nombre affiché sous forme de points de niveau actifs. |
radial_chart | Valeur fractionnaire, par exemple 4/6 ou 7/10, sous forme de graphique circulaire avec le libellé de l’attribut. |
image | Image unique provenant d’un attribut image. |
image_with_label | Image avec légende. |
image_grid | Plusieurs images dans une mise en page graphique. |
Dans le panneau d’administration, certaines positions sont marquées comme available in future release. Cela concerne les types déjà visibles dans la liste de configuration, mais qui ne disposent pas encore de leur présentation frontend finale dédiée :
table,badge,badge_list,icon_value,icon_list,swatch_grid.Ordre des sections sur la fiche produit. Un nombre plus faible signifie un affichage plus précoce.
Utilisation : placez les sections les plus importantes au début, par exemple 10 pour les caractéristiques principales, 20 pour les usages, 30 pour les spécifications.
État initial de la section sur la fiche produit.
Valeurs :
Expanded - la section est ouverte par défaut,Collapsed - la section est repliée par défaut.Utilisation : les contenus les plus importants peuvent être affichés immédiatement, tandis que les informations d’aide plus longues peuvent rester repliées.
Détermine si la section doit être masquée lorsqu’il n’y a pas de données à afficher.
Valeurs :
Yes - la section est masquée si le produit n’a pas de valeur d’attribut ou si le renderer ne renvoie aucun élément,No - la section peut rester visible même sans éléments.Utilisation : dans la plupart des cas, Yes est recommandé afin de ne pas afficher de sections vides au client.
Sélection du profil d’apparence défini dans le champ Appearance Profiles.
Le champ prend la forme d’un dropdown. L’administrateur ne saisit plus le code manuellement, mais choisit un profil prêt à l’emploi dans la liste, généralement au format code - label.
Utilisation : permet de donner à une section spécifique une apparence différente de l’apparence globale, par exemple le profil compact, highlight ou plain.
Si le champ est vide et que l’option Use global appearance est sélectionnée, la section utilise l’apparence globale.
Ordre de travail recommandé :
Appearance Profiles,Feature Sections,Appearance Profile pour la section concernée.Classe CSS supplémentaire ajoutée à la section.
Utilisation : personnalisation individuelle de l’apparence dans le thème frontend, par exemple product-features-section--technical.
Paramètres optionnels transmis au renderer au format JSON.
L’utilisation dépend du type de présentation. Exemples :
{'unit':'cm','precision':1}Pour number_with_unit :
unit - unité, par exemple cm, %, g/m2,precision - nombre de décimales.Pour range_bar :
min - valeur minimale de la plage,max - valeur maximale de la plage,low_label - libellé du début de la plage,high_label - libellé de la fin de la plage.Pour rating_dots :
steps - nombre de points ou de niveaux.Le type radial_chart ne nécessite pas d’options supplémentaires. Le renderer lit la valeur de l’attribut ou le libellé de l’option au format x/y, par exemple 1/6, 4/6, 7/10.
Exemple pour la barre de plage :
{'min':0,'max':100,'low_label':'Faible','high_label':'Élevée'}Exemple pour les points :
{'steps':5}Remarque : le champ doit contenir un JSON valide. Une valeur incorrecte est ignorée par le renderer.
Liste des profils d’apparence optionnels qui peuvent être attribués aux sections via le champ Appearance Profile.
Code technique du profil.
Exemples :
compact,highlight,plain.Utilisation : le code identifie le profil en interne et est utilisé comme valeur d’option dans le dropdown Appearance Profile de la section.
Nom descriptif du profil visible pour l’administrateur.
Utilisation : facilite l’identification du profil dans la configuration, par exemple Compact, Mis en avant, Neutre. En combinaison avec le code, il crée un libellé clair dans la liste de sélection des profils dans Feature Sections.
Couleur de fond de la section pour le profil.
Utilisation : mise en avant de sections sélectionnées ou adaptation au thème.
Couleur du texte principal dans la section.
Couleur du titre de la section.
Couleur d’accent, par exemple pour les éléments actifs, les points de l’échelle ou les mises en avant.
Couleur de fond des éléments accentués.
Couleur des lignes, séparateurs, axes d’échelle et bordures.
Couleur de l’icône d’ouverture et de fermeture de la section.
Arrondi des coins de la section.
Exemples : 0, 8px, 18px.
Espacement interne de la section.
Exemples : 16px, 24px, 28px.
Taille du texte des libellés de caractéristiques dans la section.
Exemples : 16px, 18px, 21px, 1.25rem.
Ce groupe contient l’apparence globale des sections. Les paramètres sont convertis en variables CSS et appliqués au wrapper du module.
Couleur de fond de la section.
Par défaut : #f4f4f4.
Couleur principale du texte dans la section.
Par défaut : #000000.
Couleur de l’en-tête de section.
Par défaut : #000000.
Couleur des textes d’aide et des éléments moins importants.
Par défaut : #555555.
Couleur des éléments actifs et des mises en avant.
Par défaut : #000000.
Couleur de fond des éléments actifs, par exemple les sélections.
Par défaut : #ffffff.
Couleur des bordures, séparateurs et axes d’échelle.
Par défaut : #9b9b9b.
Couleur de l’icône + / - dans l’en-tête de section.
Par défaut : #000000.
Couleur du texte de la valeur sélectionnée.
Par défaut : #000000.
Graisse de police de la valeur sélectionnée.
Par défaut : 700.
Exemples : 400, 500, 600, 700, bold.
Arrondi du conteneur de section.
Par défaut : 18px.
Espacement interne de la section.
Par défaut : 28px.
Espacement entre les sections.
Par défaut : 16px.
Taille de police de l’en-tête de section.
Par défaut : 20px.
Exemples : 18px, 20px, 1.25rem, clamp(18px, 2vw, 22px).
Taille de police des libellés de caractéristiques et des libellés de valeur.
Par défaut : 21px.
Taille de police du contenu principal de la section.
Par défaut : 16px.
Le module ne crée pas de système distinct de données produit. Il utilise les attributs produit Magento, c’est pourquoi la gestion du contenu s’effectue principalement dans l’édition du produit.
Catalog > Products.Product Features et définissez le champ CMS Blocks.La section n’apparaîtra sur le frontend que si :
Hide Empty.blocks_id / CMS BlocksPendant setup:upgrade, le module ajoute un attribut produit :
blocks_id,CMS Blocks,text,multiselect,Product Features,Le champ CMS Blocks permet d’attribuer au produit des blocs CMS actifs. Chaque bloc sélectionné sera rendu comme une section distincte si la configuration du module contient une section avec :
Attribute Code : blocks_id,Display Type : cms_blocks.Le titre de la section en frontend provient du titre du bloc CMS, et son contenu provient du contenu du bloc. Les blocs inactifs ou indisponibles pour le Store View ne sont pas rendus.
Les blocs utilisés par blocks_id sont créés de manière standard dans Magento :
Content > Elements > Blocks
Recommandations :
L’attribut blocks_id est prêt pour l’édition de masse des produits.
Catalog > Products.Update Attributes.CMS Blocks.Utilisation : attribution rapide de la même section CMS, par exemple Livraison, Retours ou Instructions d’entretien, à plusieurs produits en même temps.
Pour le type scale, utilisez des attributs select avec 2 ou 3 options actives.
Exemple :
fit,Ample, Regular, Ajusté.Le produit doit avoir l’une des options sélectionnée. Le module affichera toutes les options de l’échelle et mettra en avant celle attribuée au produit.
Si l’attribut comporte moins de 2 ou plus de 3 options, le renderer scale ignorera cet attribut.
Pour les listes de caractéristiques, d’usages, de technologies ou de certifications, utilisez des attributs multiselect.
Types de présentation possibles :
text_list,badge_list,swatch_list,swatch_grid,multiselect_icon,icon_list.Le produit peut avoir plusieurs valeurs sélectionnées. Le module rend uniquement les valeurs attribuées au produit.
Si l’attribut multiselect utilise les swatches Magento, vous pouvez utiliser le type swatch_list ou swatch_grid.
Utilisation :
Si l’option dispose d’un swatch image, le module affichera l’image. Si elle dispose d’un swatch couleur ou texte, le module utilisera la variante appropriée.
Pour le type multiselect_icon, le module tente de récupérer l’icône de l’option depuis Amasty ShopbyBrand / ShopbyBase.
Source de l’icône :
Shop by Brand > Option Edit > Other > Small Image
Le texte alternatif provient de Small Image Alt, et en son absence, du libellé de l’option.
Si Amasty n’est pas installé ou si l’option n’a pas d’icône, le module affichera uniquement le libellé.
Pour les informations courtes, utilisez text_inline, key_value ou badge.
Pour les descriptions plus longues, utilisez text_block, accordion_text ou html_block.
Remarque : html_block et accordion_text rendent du HTML, ils ne doivent donc être utilisés que pour des contenus administratifs de confiance.
Pour les valeurs numériques, vous pouvez utiliser :
number_with_unit - lorsque le nombre nécessite une unité,range_bar - lorsque la valeur doit être affichée comme une progression dans une plage,rating_dots - lorsque la valeur décrit un niveau ou une note.Exemple de Renderer Options JSON pour un nombre avec unité :
{'unit':'%','precision':0}Pour les attributs oui/non, utilisez :
yes_no, lorsque le client doit voir à la fois Yes et No,checkmark, lorsque la caractéristique doit être visible uniquement si le produit la possède.Pour les attributs de type image, vous pouvez utiliser :
image,image_with_label,image_grid.Le module construit l’adresse de l’image à partir du répertoire média produit de Magento et utilise le libellé de l’attribut comme texte alternatif.
Section avec plusieurs échelles :
| Champ | Valeur |
|---|---|
| Enabled | Yes |
| Section Title | Caractéristiques du produit |
| Attribute Codes | fit, resistance, stretch, breathability |
| Display Type | scale |
| Sort Order | 10 |
| Default State | Expanded |
| Hide Empty | Yes |
Section d’usages avec icônes :
| Champ | Valeur |
|---|---|
| Enabled | Yes |
| Section Title | Utilisation sportive |
| Attribute Code | sport_usage |
| Display Type | multiselect_icon |
| Sort Order | 20 |
| Default State | Collapsed |
| Hide Empty | Yes |
Sections CMS :
| Champ | Valeur |
|---|---|
| Enabled | Yes |
| Section Title | Informations supplémentaires |
| Attribute Code | blocks_id |
| Display Type | cms_blocks |
| Sort Order | 30 |
| Default State | Collapsed |
| Hide Empty | Yes |
Si une section n’apparaît pas sur le frontend, vérifiez :
Enabled du module a la valeur Yes,Enabled = Yes,Attribute Code ou Attribute Codes a été sélectionné,Display Type correspond au type d’attribut,Hide Empty ne masque pas la section vide,