←Terug naar het blog

Hoe de Drupal Feeds en Feeds Tamper modules te gebruiken voor eenvoudige CSV-data-import

2023-04-29‱7 min leestijd

De Feeds module in Drupal 9 is een krachtig hulpmiddel voor het importeren van externe gegevens naar uw Drupal-website. Het ondersteunt een verscheidenheid aan formaten, waaronder CSV, XML en JSON, en kan inhoud importeren naar nodes, taxonomieën en andere entiteiten op uw Drupal-site. Om het importproces te verbeteren, kunt u de Feeds Tamper module gebruiken, waarmee u gegevens kunt wijzigen voordat ze worden opgeslagen. Deze tutorial begeleidt u door het proces van het gebruik van de Feeds module samen met Feeds Tamper om gegevens uit een CSV-bestand te importeren.

  1. Vereiste modules:
  2. Maak een contenttype:
    • Als u er nog geen heeft, maak dan een contenttype voor de gegevens die u uit het CSV-bestand wilt importeren.

Contenttype toevoegen
  1. Stel een Feeds Importer in:
    • Ga naar Structuur > Feeds types
    • Klik op Feedtype toevoegen
    • Voer een naam en beschrijving in voor uw importer

Maak een nieuw Feedtype
Basisinstellingen voor de nieuwe feed
  1. Configureer de Fetcher:
    • Klik op de dropdown “Fetcher” en kies hoe u het bestand wilt ophalen. Gebruik voor deze tutorial Bestand uploaden om het CSV-bestand handmatig te uploaden. Raadpleeg de onderstaande afbeeldingen van de Fetcher a. en b.
Fetcher a. Kies de Upload bestand fetcher
Fetcher b. Fetcher instellingen

  1. Configureer de Parser:
    • Klik op de dropdown “Parser”, kies CSV, en configureer de juiste CSV-instellingen, zoals scheidingsteken, Geen headers. De standaardinstellingen werken voor de meeste use cases. Raadpleeg de onderstaande afbeeldingen.

Parser a. Kies de CSV Parser
Parser b. Parser instellingen

  1. Configureer de Processor: Klik op de dropdown “Processor” en kies Node. Klik vervolgens op de dropdown “Contenttype” en kies het doelcontenttype, en configureer aanvullende instellingen zoals auteur en standaardtaal. De Processor dropdown stelt u in staat het type entiteit te kiezen dat wordt aangemaakt bij het importeren van gegevens. Raadpleeg de onderstaande afbeeldingen.

Processor a. Kies de processor

Processor b. Kies het Contenttype
Processor b. Processor instellingen


Taal
: Deze instelling stelt u in staat de taal voor de geĂŻmporteerde inhoud te selecteren.

Bestaande inhoudselementen bijwerken: Deze instelling bepaalt hoe bestaande inhoudselementen worden behandeld wanneer nieuwe gegevens worden geïmporteerd. U kunt ervoor kiezen om bestaande inhoudselementen bij te werken, ze niet bij te werken of ze volledig te vervangen. De module gebruikt de unieke mappings die u hebt ingesteld om te bepalen welke inhoudselementen als “bestaand” worden beschouwd en moeten worden bijgewerkt of vervangen.

Eerder geĂŻmporteerde items: Met deze instelling kunt u kiezen wat u wilt doen met items die eerder zijn geĂŻmporteerd, maar niet meer aanwezig zijn in de feed. U kunt ervoor kiezen om ze te behouden of een andere actie te ondernemen.

Inhoudselementen laten verlopen: Met deze instelling kunt u specificeren wanneer inhoudselementen moeten worden verwijderd. U kunt ervoor kiezen om ze nooit te verwijderen of een specifieke tijdsperiode in te stellen waarna ze worden verwijderd.

Eigenaar: Met deze instelling kunt u de eigenaar van de geĂŻmporteerde inhoud specificeren. U kunt ervoor kiezen om de feedauteur als eigenaar te gebruiken of een specifieke gebruiker te selecteren. Als u dit veld leeg laat, wordt de eigenaar ingesteld als Anoniem.

  1. Klik op Opslaan en mappings toevoegen
  1. Map de bron-CSV-velden naar de doelcontenttype-velden:
    • Klik op het tabblad Mapping: Dit brengt u naar de mappingconfiguratiepagina waar u brongegevens kunt mappen naar doelvelden.
    • Map CSV-kolommen naar de doelcontenttype-velden door te klikken op Selecteer een doel: Hiermee kunt u het doel-Drupal-veld selecteren waarnaar u gegevens wilt mappen. Selecteer vervolgens in de kolom “Bron” Nieuwe CSV-bron en voer de naam in van de kolom uit uw CSV-bestand die de gegevens bevat die u wilt mappen naar het geselecteerde doelveld.
    • Configureer optioneel unieke velden om dubbele imports te voorkomen: Hiermee kunt u specificeren welke velden moeten worden gebruikt om te bepalen of een geĂŻmporteerd item een duplicaat is van een bestaand item. Als een duplicaat wordt gevonden, kan de module worden geconfigureerd om het bestaande item bij te werken of te vervangen.
    • Pas andere configuraties aan, zoals taalafhandeling: Hiermee kunt u aanvullende instellingen voor uw importer configureren, zoals hoe de taal moet worden afgehandeld.
    • Klik op Opslaan: Dit slaat uw mapping en andere configuratie-instellingen op.

Map CSV-velden naar Drupal-velden

  1. Importeer de gegevens met de Feeds importer:
    • Ga naar Inhoud > Feeds importers
    • Klik op Importeren voor de importer die u eerder hebt gemaakt
    • Upload uw CSV-bestand (als u bestandsupload als uw fetcher hebt geconfigureerd)
    • Klik op Importeren
    • De geĂŻmporteerde inhoud zou nu moeten verschijnen als nodes van het doelcontenttype binnen uw Drupal-site op /admin/content

Gebruik Feeds Tamper om geĂŻmporteerde gegevens te manipuleren

De Feeds Tamper module is een bijdragemodule voor de Drupal Feeds module waarmee u gegevens kunt wijzigen voordat ze worden geïmporteerd. Het biedt een gebruikersinterface voor het toevoegen van “tamper” plugins aan de individuele gemapte velden van uw Feeds importer, die verschillende datamanipulatietaken kunnen uitvoeren, zoals het splitsen, combineren of herschrijven van gegevens.

  1. Controleer of de Feeds Tamper module is ingeschakeld.
  2. Ga naar de configuratiepagina voor uw feed importer: Navigeer naar de configuratiepagina voor de feed importer die u met de Feeds Tamper module wilt gebruiken. U kunt dit doen door naar de pagina “Structuur” te gaan, vervolgens op “Feeds” te klikken en de importer te selecteren die u wilt configureren.
  3. Klik op het tabblad “Tamper”: Klik op het tabblad “Tamper” op de configuratiepagina van uw feed importer om toegang te krijgen tot de tamper-instellingen.
  4. Voeg tamper-plugins toe aan gemapte velden: Zoek in de tamper-instellingentabel het gemapte veld waaraan u een tamper-plugin wilt toevoegen. Klik in de kolom “Plugin” voor dat veld op de knop “Plugin toevoegen”. Selecteer de plugin die u wilt gebruiken uit de lijst met beschikbare plugins en configureer vervolgens de instellingen ervan naar behoefte.
  5. Sla uw wijzigingen op: Zodra u alle tamper-plugins hebt toegevoegd en geconfigureerd die u wilt gebruiken, klikt u op de knop “Opslaan” om uw wijzigingen op te slaan.
  6. Herhaal deze stappen voor alle bronkolommen die u wilt wijzigen voordat u de gegevens opslaat

Use cases van de Feeds tamper module

  • Gegevens opschonen: U kunt de Feeds Tamper module gebruiken om gegevens op te schonen voordat ze worden geĂŻmporteerd. U kunt bijvoorbeeld de plugin “Zoeken en vervangen” gebruiken om specifieke woorden of zinnen in uw gegevens te vervangen.
  • Gegevenstransformatie: U kunt de Feeds Tamper module gebruiken om gegevens te transformeren voordat ze worden geĂŻmporteerd. U kunt bijvoorbeeld de plugin “Explode” gebruiken om een enkel veld op te splitsen in meerdere waarden, of de plugin “Implode” om meerdere velden te combineren tot één waarde. De plugin “Explode” is handig bij het mappen van meerdere door komma’s gescheiden velden uit het CSV-bestand naar een taxonomie-referentieveld.
  • Gegevens filteren: U kunt de Feeds Tamper module gebruiken om gegevens te filteren voordat ze worden geĂŻmporteerd. U kunt bijvoorbeeld de plugin “Keyword Filter” gebruiken om alleen items te importeren die specifieke trefwoorden bevatten.
  • Gegevens herschrijven: U kunt de Feeds Tamper module gebruiken om gegevens te herschrijven voordat ze worden geĂŻmporteerd. U kunt bijvoorbeeld de plugin “Rewrite” gebruiken om het formaat van datums of getallen in uw gegevens te wijzigen, of de plugin “Pathauto” om automatisch URL-aliassen te genereren voor geĂŻmporteerde inhoud.

En dat is alles! U hebt de Feeds module in Drupal 9 succesvol geconfigureerd om gegevens uit een CSV-bestand te importeren en te manipuleren met behulp van de Feeds Tamper module.