Retour au blog

Comment utiliser le plugin Explode dans le module Feeds Tamper de Drupal avec un exemple CSV – Un guide rapide

2023-05-317 min de lecture

Drupal fournit une multitude de plugins et de modules qui améliorent ses fonctionnalités de base. Le module Feeds, qui vous permet d'importer ou d'agréger des données sous forme de nœuds, d'utilisateurs, de termes de taxonomie, et plus encore à partir de fichiers CSV ou RSS, en est un exemple. Pour manipuler davantage ces données importées, vous pouvez utiliser le module Feeds Tamper.

Le module Feeds Tamper contient un outil utile appelé le plugin Explode. Ce plugin peut diviser les données de votre source en plus petits morceaux, une fonctionnalité qui s'avère particulièrement utile lors de l'importation de données à partir de fichiers CSV.

Un autre module essentiel dans cette configuration est le module Feeds Tamper Extensible Parser. Ce module étend les fonctionnalités de Feeds Tamper et fournit des plugins supplémentaires, y compris l'analyseur CSV nécessaire pour notre exemple.

Prérequis :

Avant de commencer, assurez-vous d'avoir les éléments suivants :

  1. Un site Drupal 8, 9 ou 10 fonctionnel.
  2. Les modules Feeds, Feeds Tamper et Feeds Tamper Extensible Parser sont installés et activés. Vous pouvez installer ces modules via le tableau de bord d'administration de Drupal ou via les outils en ligne de commande Drupal Console/Drush.

Guide étape par étape :

Pour une exploration approfondie des modules Drupal Feeds et Feeds Tamper, je vous recommande vivement de consulter ce guide détaillé : Comment utiliser les modules Drupal Feeds et Feeds Tamper pour des importations de données CSV faciles. Il fournit des informations supplémentaires qui pourraient être utiles au fur et à mesure.

Étape 1 : Importation d'un fichier CSV

Tout d'abord, nous devons configurer un flux pour importer un fichier CSV. Dans le tableau de bord d'administration de Drupal, naviguez vers Structure -> Feeds -> Ajouter un type de flux. Donnez-lui un titre et une description. Pour le paramètre Fetcher, sélectionnez File Upload. Pour Parser, choisissez CSV parser. Enfin, pour Processor, sélectionnez Node processor si vous souhaitez créer des nœuds à partir des données CSV.

Étape 2 : Configuration de l'analyseur CSV

Ensuite, nous devons informer Drupal de la structure de notre fichier CSV. Sur la page des paramètres de votre nouveau type de flux, cliquez sur le paramètre CSV parser. Ici, vous pouvez configurer le délimiteur (généralement une virgule) et le nombre de lignes d'en-tête. Assurez-vous que les noms de colonnes dans votre fichier CSV correspondent aux noms de champs dans Drupal.

Étape 3 : Configuration du plugin Explode et création des mappages de champs

Avant de configurer le plugin Explode, vous devrez créer des mappages pour vos données CSV. Les mappages établissent une relation entre les données de vos colonnes CSV et les champs de votre type de contenu Drupal.

Pour créer un mappage :

  1. Accédez aux paramètres « Feeds importer » et cliquez sur la section « Mapping ».
  2. À partir de là, vous pouvez mapper les colonnes sources de votre fichier CSV (comme « Author », « Tags », etc.) aux champs cibles respectifs de votre type de contenu Drupal (comme « field_author », « field_tags », etc.).

Une fois vos mappages configurés, vous pouvez appliquer le plugin Explode aux champs appropriés. Dans notre cas, il pourrait s'agir du champ « Author » ou du champ « Tags » s'ils contiennent plusieurs valeurs qui doivent être séparées.

Après avoir configuré le mappage, vous pouvez appliquer le plugin Explode à tous les champs comportant plusieurs valeurs que vous souhaitez diviser.

Pour configurer le plugin Explode :

  1. Naviguez vers l'onglet « Tamper ». Ici, vous verrez une liste de tous les champs mappés.
Module Feeds Tamper
Onglet Tamper
  1. Trouvez le champ auquel vous souhaitez appliquer le plugin Explode et cliquez sur le lien « Add plugin » associé à ce champ.
  1. Dans le menu déroulant, sélectionnez le plugin « Explode ».
  1. Configurez les paramètres du plugin selon vos besoins, tels que la définition du délimiteur qui sépare les valeurs multiples dans votre champ.
Paramètres du plugin Explode
  1. Cliquez sur « Submit » pour appliquer le plugin Explode au champ choisi.

À propos de l'option « Limit »

Lorsque vous utilisez le plugin Explode pour diviser un champ en plusieurs valeurs, vous pouvez spécifier une « Limit » (limite) pour contrôler le nombre de morceaux dans lesquels le champ sera divisé.

Par exemple, si vous avez un champ avec la valeur « pomme, banane, cerise, datte » et que vous utilisez le plugin Explode avec une virgule comme délimiteur et que vous définissez la limite à 2, le champ sera divisé en seulement deux morceaux : « pomme » et « banane, cerise, datte ».

Cette option « Limit » est particulièrement utile lorsque vous connaissez le nombre maximum de morceaux dans lesquels vous souhaitez que le champ soit divisé ou lorsque vous souhaitez conserver une partie du champ comme une seule valeur.

Si vous laissez l'option « Limit » vide ou si vous la définissez sur un nombre élevé, le plugin divisera le champ en autant de morceaux que possible en fonction du délimiteur spécifié.

Étape 4 : Importation des données

Avec tous les paramètres configurés, vous êtes prêt à importer votre fichier CSV. Allez dans Content -> Feeds -> Add Feed. Téléchargez votre fichier CSV et cliquez sur le bouton Import. Drupal importera maintenant les données de votre fichier CSV, en divisant les champs de données selon vos paramètres Explode.

Cas d'utilisation

  1. Migration de contenu : Si vous migrez du contenu d'un autre CMS vers Drupal, vous pourriez rencontrer une situation où une exportation CSV contient plusieurs valeurs dans un seul champ. Par exemple, un article de blog pourrait avoir plusieurs auteurs listés dans un seul champ « Author ». De même, plusieurs termes de taxonomie liés à un seul élément de contenu pourraient être regroupés dans un seul champ. Dans de tels scénarios, le plugin Explode peut être inestimable. Il vous permet de diviser ces champs lors du processus d'importation, séparant efficacement plusieurs auteurs dans des champs individuels et divisant les termes de taxonomie groupés en entrées distinctes dans Drupal.
  2. Importation de produits : Si vous gérez un site de commerce électronique et que vous avez un catalogue de produits dans un fichier CSV où un seul champ contient plusieurs balises ou catégories séparées par un délimiteur, le plugin Explode peut diviser ces balises en valeurs individuelles lors de l'importation du catalogue.
  3. Gestion d'événements : Si vous gérez un événement et que vous avez un fichier CSV avec des données de session, et que certaines sessions ont plusieurs intervenants listés dans un seul champ « Speaker », le plugin Explode peut être utilisé pour les diviser en valeurs d'intervenants individuelles lors de l'importation.
  4. Importation de données utilisateur : Si vous importez des données utilisateur à partir d'un fichier CSV et que vous avez une colonne « Roles » avec plusieurs rôles pour un utilisateur séparés par un délimiteur, le plugin Explode peut les diviser en rôles individuels.
  5. Importation de données de localisation : Si vous importez des données de localisation où l'adresse, la ville, l'état et le code postal sont tous dans un seul champ, vous pouvez utiliser le plugin Explode pour les diviser en champs séparés lors de l'importation.

Conclusion

Le module Feeds Tamper est un outil pratique dans Drupal qui vous permet de contrôler et d'ajuster les données pendant l'importation. Avec sa collection de plugins comme Explode, il peut diviser les données provenant de sources telles que les fichiers CSV et les mapper proprement aux champs Drupal.

Ce module, ainsi que les modules Feeds et Feeds Tamper Extensible Parser, est excellent pour diviser les données en plus petits morceaux et les placer correctement sur votre site Drupal. Il est particulièrement efficace pour gérer les champs qui ont plus d'une valeur, comme une liste d'auteurs pour un article de blog.

Que vous migriez des données d'un autre système ou que vous importiez un gros fichier CSV, le module Feeds Tamper peut rendre le processus plus fluide et plus précis. C'est un excellent outil à avoir dans votre boîte à outils Drupal pour un contrôle précis de votre contenu.