-

Comment modifier en masse les produits dans Drupal avec Views Bulk Operations et API ?

Gérer de nombreux produits sur un site web peut être difficile et chronophage, surtout lorsque les données changent fréquemment et que les partenaires commerciaux ont besoin d'un accès rapide à des informations à jour. Drupal offre des solutions qui simplifient considérablement ces processus. Dans le blog post suivant, je vais montrer comment préparer un panneau d'administration pratique dans ce système pour éditer plusieurs produits simultanément. Je vous encourage à lire l'article ou à regarder  un épisode de la série « Nowoczesny Drupal ».

Défis dans la gestion d'un grand nombre de produits

Les entreprises manufacturières ont souvent des centaines voire des milliers de produits. Gérer un tel assortiment nécessite les bons outils pour le faire :

  • rechercher et modifier rapidement les données,
  • mettre à jour de manière groupée les paramètres des produits,
  • partager automatiquement les informations avec les partenaires commerciaux.

Gérer manuellement  les produits sur un site web de fabrication serait très chronophage et sujet aux erreurs. Drupal vous permet d'automatiser de nombreux processus, simplifiant considérablement le travail avec de grands ensembles de données.

Éditer plusieurs produits à la fois dans Drupal

La gestion des produits dans Drupal simplifie le travail de l'administrateur du site et fournit aux contractants un accès automatique à des informations produit toujours à jour. Cet article de blog présente des solutions pour une entreprise hypothétique produisant des moteurs à combustion interne pour bateaux.

Dans un article sur  comment créer un site web pour l'industrie manufacturière, j'ai montré comment construire une structure de page de base dans Drupal. Nous avons ajouté les champs "puissance" et "capacité", entre autres, et des vues présentant une liste de produits. Maintenant, nous allons aller un peu plus loin, en configurant des modules et des fonctionnalités qui faciliteront la gestion d'un grand catalogue de produits et permettront une intégration facile via API.

Quels modules vous seront nécessaires ?

Pour cette solution, nous ajoutons les modules suivants à Drupal :

  • Views Bulk Operations - il permet des opérations groupées sur plusieurs objets (par exemple, la modification de champs).
  • Views Bulk Edit - en fonction de la version de Drupal, parfois des paquets supplémentaires de ce module sont requis.
  • Restful (Services Web RESTful) - est un module disponible dans le noyau de Drupal, que nous utiliserons pour exposer des données au format JSON.

Les deux premiers modules peuvent être téléchargés depuis le site  Drupal.org, tandis que le troisième est déjà intégré à Drupal. Pour cet article, nous supposons que tous les modules sont installés et actifs.

Étendre le panneau d'administration - éditer plusieurs produits simultanément

Sur notre site, dans le panneau d'administration, nous avons une vue qui affiche tous les produits (moteurs). Dans cette vue, vous pouvez rechercher en fonction de différents paramètres, tels que le titre, la puissance et la capacité. Sur la base de ces données, nous préparerons une vue d'administration dans Drupal.

Étape 1 : Préparer la vue administrative

  1. Dans le panneau d'administration, nous créons (ou éditons) une vue affichant tous les produits (par exemple, moteurs).
  2. Nous ajoutons des filtres selon des paramètres sélectionnés, tels que le titre, la puissance et la capacité.
  3. Avec les filtres, vous pouvez facilement restreindre le nombre d'éléments affichés, ce qui est très pratique lorsque vous avez des centaines ou des milliers de produits.
Une capture d'écran présentant les moteurs sur un exemple de site web d'entreprise de fabrication sous Drupal.

 

Étape 2 : Ajouter la colonne Views Bulk Operations (VBO)

  1. Dans l'édition de la vue, changez le  format de la vue en Views Bulk Operations.
  2. Où auparavant nous avions, par exemple, un tableau avec une liste de produits, nous pourrons maintenant sélectionner plusieurs lignes à la fois.
  3. Il est préférable de déplacer la colonne de case à cocher au début et de s'assurer que le nom de la colonne est clair (par exemple, "Éditer").
Écran de configuration de Views Bulk Operations dans Drupal pour l'édition groupée de produits.

 

Étape 3 : Configurer les actions groupées

Dans les paramètres VBO dans la section "Actions", nous choisissons quelles opérations groupées seront disponibles.

Exemples d'actions incluent :

  • Modifier les valeurs des champs (changer les valeurs des champs, par exemple, capacité de 1200 à 1500 dans plusieurs produits à la fois),
  • Suspendre la publication (retirer le produit de la vue publique),
  • Générer un CSV à partir de la vue sélectionnée (exporter les données vers Excel, par exemple),
  • Supprimer le contenu (supprimer les produits obsolètes).

Views Bulk Edit (VBE) peut également vous permettre d'éditer du contenu directement dans un tableau ou dans un formulaire simplifié. Notez que parfois des modules supplémentaires peuvent être nécessaires pour que VBE fonctionne.

Configuration des actions groupées pour les produits sur un site web de fabrication sous Drupal avec Views Bulk Operations.

 

Exemple d'édition de produits en masse utilisant "Highway Star"

Par exemple, nous avons des produits avec des moteurs "Highway Star". Je vais vous montrer comment éditer ces produits en masse. Si vous voulez que tous les produits dont le nom contient "Highway Star" aient la même capacité, il suffit de suivre quelques étapes simples :

  1. Entrez "Highway Star" dans le filtre,
  2. Sélectionnez les produits affichés,
  3. Sélectionnez l'action "Modifier les valeurs des champs",
  4. Entrez une nouvelle valeur (par exemple, capacité = 2000),
  5. Approuvez et enregistrez les modifications.

En quelques secondes, nous modifions une propriété pour de nombreux produits à la fois sans éditer chaque élément individuellement.

Liste des moteurs

 

Nous pouvons faire de même avec la puissance du moteur ou tout autre champ que nous avons ajouté au produit.

Application Views Bulk Operations dans un contexte plus large

Avec Views Bulk Operations, vous pouvez gérer de manière collective des données très différentes, telles que :

  • Disponibilité des produits (par exemple, en mettant à jour le statut "Disponible"/"Indisponible"),
  • Catégories et tags (assigner plusieurs produits à une nouvelle catégorie),
  • Paramètres numériques tels que la puissance, la capacité, les dimensions, etc.

Si nous configurons les filtres dans la vue, nous pouvons d'abord sélectionner précisément un groupe de produits (par exemple, en fonction de SKU, de catégories et de plage de dates d'entrée) puis les sélectionner tous et définir l'action de groupe choisie. 

Si vous avez un très grand nombre de produits (des centaines ou des milliers), Drupal peut prendre en charge le traitement groupé, ce qui vous permet de mettre à jour efficacement de nombreuses entrées en une seule fois.

Exporter des données produit en utilisant l'API

De plus en plus, les entreprises s'attendent à échanger directement des informations produit entre les systèmes - sans avoir à télécharger manuellement des fichiers Excel ou PDF. Nous avons cette opportunité lorsque nous utilisons Drupal et appliquons l'API.

Les principaux avantages de l'utilisation de l'API :

  • Toujours à jour sur les spécifications, la disponibilité ou les prix.
  • Gain de temps en éliminant la saisie manuelle des données.
  • Moins de risques d'erreurs et automatisation des processus du côté des partenaires.

Imaginez une situation où notre partenaire commercial a besoin des informations les plus récentes sur la capacité du moteur, sa disponibilité ou sa puissance chaque jour. Sans l'API, nous devrions générer et envoyer une nouvelle version du fichier à chaque fois, et le partenaire mettrait manuellement à jour son système. L'API résout ce problème : tout ce que notre partenaire doit faire est de télécharger les données sous un chemin spécifique (par exemple, /export), et il dispose toujours d'une liste de produits à jour.
 

Un exemple d'exportation de grandes quantités de données depuis Drupal en utilisant les Services Web RESTful.


Pour notre exemple, j'ai créé une API très simple qui montre seulement quatre données :

  • nom du produit,
  • puissance,
  • capacité,
  • lien vers les spécifications techniques et lien vers la photo.

Étape 1 : Activer le service REST

  1. Sous Drupal 8/9/10, nous activons le module  RESTful Web Services dans la section "Extensions" (Modules).
  2. Nous veillons à ce que le format JSON soit disponible (il est généralement activé par défaut).

Étape 2 : Créer une nouvelle vue de type "REST export"

  1. Nous créons ou clonons une vue existante affichant nos produits.
  2. Nous ajoutons un nouvel affichage de type  REST export.
  3. Nous définissons un chemin, comme  /export, sous lequel Drupal rendra les données disponibles.

Étape 3 : Sélectionner les champs pour l'API

Il est judicieux de ne pas afficher l'entité entière (l'option "Entity"), car cela pourrait contenir des informations inutiles (comme la date de publication ou l'auteur). Au lieu de cela, choisissez le format  Fields et indiquez des champs spécifiques, tels que :

  • Titre du produit (par exemple, nom du moteur),
  • Puissance,
  • Capacité,
  • Lien vers un fichier PDF (par exemple, spécifications techniques),
  • Lien vers l'image (pour que les contractants puissent afficher l'image à leur endroit).

Étape 4 : Relations pour les fichiers et images

Nous ajoutons des liens vers des médias ou des fichiers dans la section  Relations si nous avons besoin de chemins de fichiers complets.

Un écran avec une vue des paramètres de Drupal pour créer un lien vers des fichiers et des images dans les produits.

 

Cela garantira que les liens corrects (URLs) apparaissent au format JSON.

Étape 5 : Vérifier le fonctionnement de l'endpoint

Après avoir enregistré la vue, il suffit de se rendre sous le chemin  /export (ou tout autre chemin défini). Là, nous verrons nos données de produit au format JSON.

Une vue de vérification des performances de l'endpoint créé après l'émission des données à partir de l'API dans Drupal.


Cela nous permet de vérifier que les informations sur les produits s'affichent correctement, et les partenaires commerciaux peuvent télécharger la liste des produits mise à jour automatiquement - même toutes les heures.

Édition massive de produits avec Views Bulk Operations et API - résumé

Dans Drupal, nous pouvons facilement créer une interface pour la gestion de nombreux produits en utilisant le module Views Bulk Operations (et éventuellement Views Bulk Edit si nous avons besoin d'options d'édition plus avancées). Ainsi, l'administrateur n'a pas besoin de réaliser chaque mise à jour séparément - il suffit de sélectionner les produits nécessaires et de changer l'attribut sélectionné.

L'option d'export REST, quant à elle, permet de exposer rapidement des données au format JSON. Cela permet à nos contractants ou partenaires commerciaux de télécharger automatiquement des informations sur les produits à jour (par exemple, spécifications, disponibilités, ou prix), ce qui permet de gagner du temps et de minimiser les erreurs.

Cette solution fonctionne particulièrement bien pour les entreprises qui offrent une large gamme de produits. En combinant l'édition en masse et le partage automatique des données, elles peuvent augmenter l'efficacité du travail et simplifier la gestion quotidienne des produits. Si vous avez besoin de support pour une configuration avancée de votre site web ou des paramètres de Drupal, consultez notre service de développement web pour la fabrication. 

.