Torna al blog

Come Usare i Moduli Feeds e Feeds Tamper di Drupal per Importare Facilmente Dati CSV

2023-04-297 min di lettura

Il modulo Feeds in Drupal 9 è uno strumento potente per importare dati esterni sul tuo sito web Drupal. Supporta una varietà di formati, tra cui CSV, XML e JSON, e può importare contenuti in nodi, tassonomie e altre entità nel tuo sito Drupal. Per migliorare il processo di importazione, puoi utilizzare il modulo Feeds Tamper, che ti consente di modificare i dati prima che vengano salvati. Questo tutorial ti guiderà attraverso il processo di utilizzo del modulo Feeds insieme a Feeds Tamper per importare dati da un file CSV.

  1. Moduli richiesti:
  2. Crea un tipo di contenuto:
    • Se non ne hai già uno, crea un tipo di contenuto per i dati che desideri importare dal file CSV.

Aggiungi tipo di contenuto
  1. Configura un Importatore Feeds:
    • Vai su Struttura > Tipi di feed
    • Fai clic su Aggiungi tipo di feed
    • Inserisci un nome e una descrizione per il tuo importatore

Crea un nuovo Tipo di Feed
Impostazioni di base per il nuovo feed
  1. Configura il Fetcher:
    • Fai clic sul menu a discesa “Fetcher” e scegli come desideri recuperare il file. Per questo tutorial, usa Upload File per caricare manualmente il file CSV. Fai riferimento alle immagini Fetcher a. e b. qui sotto.
Fetcher a. Scegli il fetcher Upload file
Fetcher b. Impostazioni Fetcher

  1. Configura il Parser:
    • Fai clic sul menu a discesa “Parser”, scegli CSV e configura le impostazioni CSV appropriate, come delimitatore, No headers. Le impostazioni predefinite funzioneranno per la maggior parte dei casi d’uso. Fai riferimento alle immagini qui sotto.

Parser a. Scegli il Parser CSV
Parser b. Impostazioni Parser

  1. Configura il Processor: Fai clic sul menu a discesa “Processor” e scegli Node. Quindi, fai clic sul menu a discesa “Content Type” e scegli il tipo di contenuto di destinazione, e configura impostazioni aggiuntive come autore e lingua predefinita. Il menu a discesa Processor ti consente di scegliere il tipo di entità che verrà creata durante l'importazione dei dati. Fai riferimento alle immagini qui sotto.

Processor a. Scegli il processor

Processor b. Scegli il Tipo di Contenuto
Processor b. Impostazioni Processor


Lingua
: Questa impostazione ti consente di selezionare la lingua per il contenuto importato.

Aggiorna elementi di contenuto esistenti: Questa impostazione determina come vengono gestiti gli elementi di contenuto esistenti quando vengono importati nuovi dati. Puoi scegliere di aggiornare gli elementi di contenuto esistenti, non aggiornarli o sostituirli completamente. Il modulo utilizzerà le mappature univoche che hai impostato per determinare quali elementi di contenuto sono considerati “esistenti” e dovrebbero essere aggiornati o sostituiti.

Elementi precedentemente importati: Questa impostazione ti consente di scegliere cosa fare con gli elementi che sono stati precedentemente importati ma non sono più presenti nel feed. Puoi scegliere di mantenerli o intraprendere un’altra azione.

Scadenza elementi di contenuto: Questa impostazione ti consente di specificare quando gli elementi di contenuto devono essere eliminati. Puoi scegliere di non eliminarli mai o impostare un periodo di tempo specifico dopo il quale verranno eliminati.

Proprietario: Questa impostazione ti consente di specificare il proprietario del contenuto importato. Puoi scegliere di utilizzare l’autore del feed come proprietario o selezionare un utente specifico. Se lasci vuoto questo campo, il proprietario sarà impostato come Anonimo.

  1. Fai clic su Salva e aggiungi mappature
  1. Mappa i campi sorgente CSV ai campi del tipo di contenuto di destinazione:
    • Fai clic sulla scheda Mapping: Questo ti porterà alla pagina di configurazione del mapping dove puoi mappare i dati sorgente ai campi di destinazione.
    • Mappa le colonne CSV sorgente ai campi del tipo di contenuto di destinazione facendo clic su Seleziona una destinazione: Questo ti permetterà di selezionare il campo Drupal di destinazione a cui desideri mappare i dati. Quindi, nella colonna “Source”, seleziona New CSV Source e inserisci il nome della colonna dal tuo file CSV che contiene i dati che desideri mappare al campo di destinazione selezionato.
    • Facoltativamente, configura campi univoci per evitare importazioni duplicate: Questo ti consente di specificare quali campi devono essere utilizzati per determinare se un elemento importato è un duplicato di un elemento esistente. Se viene trovato un duplicato, il modulo può essere configurato per aggiornare o sostituire l’elemento esistente.
    • Regola altre configurazioni come la gestione della lingua: Questo ti consente di configurare impostazioni aggiuntive per il tuo importatore, come la gestione della lingua.
    • Fai clic su Salva: Questo salverà il tuo mapping e le altre impostazioni di configurazione.

Mappa i campi CSV ai campi Drupal

  1. Importa i dati utilizzando l’importatore Feeds:
    • Vai su Contenuto > Importatori Feeds
    • Fai clic su Importa per l’importatore che hai creato in precedenza
    • Carica il tuo file CSV (se hai configurato il caricamento file come fetcher)
    • Fai clic su Importa
    • Il contenuto importato dovrebbe ora apparire come nodi del tipo di contenuto di destinazione all’interno del tuo sito Drupal /admin/content

Usa Feeds Tamper per manipolare i dati importati

Il modulo Feeds Tamper è un modulo contrib per il modulo Feeds di Drupal che ti consente di modificare i dati prima che vengano importati. Fornisce un’interfaccia utente per aggiungere plugin “tamper” ai singoli campi mappati del tuo importatore Feeds, che possono eseguire varie attività di manipolazione dei dati come la suddivisione, la combinazione o la riscrittura dei dati.

  1. Conferma che il modulo Feeds Tamper sia abilitato.
  2. Vai alla pagina di configurazione del tuo importatore di feed: Naviga alla pagina di configurazione dell’importatore di feed che desideri utilizzare con il modulo Feeds Tamper. Puoi farlo andando alla pagina “Struttura”, quindi facendo clic su “Feeds” e selezionando l’importatore che desideri configurare.
  3. Fai clic sulla scheda “Tamper”: Nella pagina di configurazione del tuo importatore di feed, fai clic sulla scheda “Tamper” per accedere alle impostazioni di tamper.
  4. Aggiungi plugin tamper ai campi mappati: Nella tabella delle impostazioni di tamper, trova il campo mappato a cui desideri aggiungere un plugin tamper. Nella colonna “Plugin” per quel campo, fai clic sul pulsante “Aggiungi plugin”. Seleziona il plugin che desideri utilizzare dall’elenco dei plugin disponibili, quindi configura le sue impostazioni secondo necessità.
  5. Salva le modifiche: Una volta aggiunti e configurati tutti i plugin tamper che desideri utilizzare, fai clic sul pulsante “Salva” per salvare le modifiche.
  6. Ripeti questi passaggi per tutte le colonne sorgente che desideri modificare prima di memorizzare i dati

Casi d’uso del modulo Feeds tamper

  • Pulizia dei dati: Puoi utilizzare il modulo Feeds Tamper per pulire i dati prima che vengano importati. Ad esempio, puoi utilizzare il plugin “Trova e sostituisci” per sostituire parole o frasi specifiche nei tuoi dati.
  • Trasformazione dei dati: Puoi utilizzare il modulo Feeds Tamper per trasformare i dati prima che vengano importati. Ad esempio, puoi utilizzare il plugin “Explode” per suddividere un singolo campo in più valori, o il plugin “Implode” per combinare più campi in un singolo valore. Il plugin “Explode” è utile quando si mappano più campi separati da virgola dal file CSV a un campo di riferimento della tassonomia.
  • Filtraggio dei dati: Puoi utilizzare il modulo Feeds Tamper per filtrare i dati prima che vengano importati. Ad esempio, puoi utilizzare il plugin “Keyword Filter” per importare solo elementi che contengono parole chiave specifiche.
  • Riscrittura dei dati: Puoi utilizzare il modulo Feeds Tamper per riscrivere i dati prima che vengano importati. Ad esempio, puoi utilizzare il plugin “Rewrite” per modificare il formato di date o numeri nei tuoi dati, o il plugin “Pathauto” per generare automaticamente alias URL per il contenuto importato.

E questo è tutto! Hai configurato con successo il modulo Feeds in Drupal 9 per importare e manipolare dati da un file CSV utilizzando il modulo Feeds Tamper.