Importare prodotti in Magento tramite CSV (comprese le immagini)

Logo-magentoProseguiamo la nostra serie di tutorial legati a Magento, analizzando una funzionalità già integrata nel nostro ecommerce e molto utile per popolare il catalogo del nostro negozio online: l’importazione dei prodotti. Per raggiungere la sezione dedicata a tale funzionalità, dal menu “Sistema“, selezioniamo la voce “Importa/Esporta” e successivamente “Profili“.
Come illustrato nell’immagine seguente.

1

In tale sezione vengono messi a disposizione gli strumenti per importare/esportare prodotti e clienti del nostro negozio, con la possibilità di configurare un proprio profilo personalizzato (click su “Aggiungi Nuovo Profilo“), o utilizzarne uno già preeesistente (Click su “Modifica“).

Realiziamo il file csv

Prima di realizzare il file csv con la lista dei prodotti da importare nel nostro catalogo, il mio consiglio (e anche di tante altre guide online contenenti le istruzioni per effettuare tali operazioni) è quello di utilizzare il profilo “Export All Products” per visualizzare la struttura del file csv che dovremo realizzare. Ovviamente, prima di lanciare il profilo, se non l’avete ancora fatto, inserite un prodotto di prova (dal menù “Catalogo, “Gestione Prodotti“, click su “Aggiungi Prodotto“) preoccupandosi di compilare correttamente tutti i campi richiesti. Fatto questo, torniamo alla schermata illustrata nell’immagine precedente e clicchiamo su “Modifica” in  corrispondenza del profilo “Export All Products“. Dal menù di sinistra selezioniamo la voce “Esegui Profilo” e clicchiamo sul tasto “Esegui Profilo in Popup“.

2

Si aprirà un popup che ci comunicherà l’avanzamento e la riuscita dell’esportazione. E’ molto importante non chiudere il popup durante l’esecuzione dell’esportazione.

3

A operazione terminata, colleghiamoci via FTP o SFTP alla cartella “var/export/” dove troveremo il file “export_all_products.csv” appena creato. Apriamolo con il nostro editor di fogli di calcolo e modifichiamolo inserendo i prodotti che intendiamo importare, facendo molta attenzione a preservare la struttura del file.

e per importare le immagini?

Per importare le immagini dei nostri  prodotti sarà sufficiente compilare i campi “image“, “small_image” e “thumbnail” del nostro file csv, preoccupandoci di inserire uno slash (“/“) di fronte al nome dell’immagine, il cui file andrà collocato nella cartella “media/import“.

Importiamo il file csv

Ora che abbiamo preparato il file csv, è giunto il momento di eseguire l’importazione. Sempre collegandoci via FTP o SFTP, posizioniamo il file nella cartella “var/export“. Successivamente raggiungiamo la lista dei profili (menù “Sistema“, “Importa/Esporta“, “Profili“) e clicchiamo su “Modifica” in corrispondenza del profilo “Import All Products“. Compiliamo il form come illustrato nell’immagine seguente:

4

segnalando a Magento il nome e la posizione del file csv da importare (“File Information“) e il numero di prodotti da importare (“Number of records“). Successivamente clicchiamo sul pulsante “Salva e Continua le Modifiche” prima di spostarci sulla voce “Esegui Profilo” del menù di sinistra. Come per l’esportazione, si aprirà un popup grazie al quale potremo tenere traccia dell’avanzamento dell’importazione.

Alcuni consigli utili

Eseguendo l’importazione di numerosi prodotti, lo script potrebbe bloccarsi inaspettatamente per alcune limitazioni imposte nel file di configurazione del php. Una di queste limitazione è quella imposta sulla massima durata dello script che solitamente è fissata a 30 secondi. Per superare questo limite è sufficiente inserire nel file .htaccess la seguente istruzione (consigliamo vivamente di rimuovere tale istruzione al completamento dell’importazione):

#modifichiamo il php.ini da .htaccess
php_value max_execution_time 0

Altri problemi che si potrebbero verificare durante l’importazione posso essere legati anche a limitazione sulla memoria che lo script di importazione ha la possibilità di occupare (il classico “Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 1234 bytes) in …” che chi lavora da un po’ con Magento conoscerà sicuramente bene). Solitamente è più difficile che avendo a disposizione un hosting condiviso ci venga data la possibilità di aumentare questo limite. Per superare questo limite il mio consiglio è quello di non creare un unico file con tantissimi prodotti da importare, ma di suddividerli in più file (300/400 prodotti per file).

Lascia un commento

Tutti i campi sono obbligatori.
L'indirizzo email non verrà pubblicato

 

Commenti

  1. avatarStefano

    Dopo l’import delle immagini e’ possibile cancellare tutti i files dalla cartella media/import/ o questo potrebbe provocare problemi?

    Grazie

  2. avatarRoberto Rubino Autore

    Si, è possibile rimuovere le immagini contenute nella cartella “import”, senza che questo causi problemi al catalogo del proprio store Magento.

    Saluti

  3. avatarcaldaie

    super grazie, tutto u tilissimo, anche i comenti, penso già prossima settimana di mettere tutto all’opera!

  4. avatarallardi giorgia

    Mi sapete dire come faccio a importare I prodotti correlati? Che heading do alla colonna di csv? Grazie

  5. avatarRoberto Rubino Autore

    L’importazione standard tramite csv non prevede la possibilità di importare i prodotti correlati. Per fare questo bisogna affidarsi a un modulo/estensione. Tramite Magento Connect è disponibile questo modulo

    http://www.magentocommerce.com/magento-connect/Res/extension/2887/itib-mass-import-product-relations-upsell-and-cross-sell

    ma non ho ancora avuto modo di testarlo (tra l’altro tra i dati vedo che è compatibile solo con la versione 1.3). Fortunatamente Magento è una piattaforma molto potente e il più delle volte ciò che non è disponibile di default, lo si può realizzare con un modulo creato ad-hoc. Noi di Artera ci occupiamo anche di questo. Per qualsiasi richiesta potete contattarci al nostro indirizzo e-mail info@artera.it

  6. avatarPaolo

    E’ disponibile un modulo che permetta l’import giornaliero/settimanale di un file CSV?

  7. avatarRoberto Rubino Autore

    Così su due piedi, senza poter provare e guardare il file… quello che posso dire è che l’errore fa riferimento a un’immagine non trovata.. può essere che nel file gli passi l’indirizzo di un’immagine che poi non viene trovata nella cartella media/import…

    Ciao

  8. avatarVincenzo

    Salve, ho un problema relativo alle immagini, il procedimonto in se funziona e carica i prodotti con la relativa immagine, ma non le selezione come attive, cerco di spiegarmi meglio… i prodotti caricati hanno l’immagine ma non viene selezionate nella scheda prodotto, che rimane su”no image” impostata su “base image” “small image” “thumbnail”…
    per intenderci poi l’immagine di default nel sito sarà nessuna immagine…
    grazie in anticipo a chiunque abbia capito di che sto parlando (mi rendo conto che non riesco a spiegare il problema al meglio)

  9. avatarAngelo

    Salve, c’è modo per importare le immagini da un link anzichè dalla cartella media/import?

  10. avatarRoberto Rubino Autore

    Ciao Angelo, nelle funzionalità standard di Magento non esiste un modo per prelevare le immagini da importare da un link remoto… è una cosa che comunque si può fare realizzando uno script di importazione ad hoc…

  11. avatarAngelo

    Ci sono dei tutorial per realizzare tale script? Ho fatto alcune ricerche ma tutte si riferiscono a versioni di Magento precedenti alla 1.6 :(

  12. avatarRoberto Rubino Autore

    Ciao, un tutorial completo per realizzare lo script non saprei… in Magento, per caricare un’immagine per un prodotto, ti devi affidare alla funzione “addImageToMediaGallery” la cui documentazione la trovi qui

    http://docs.magentocommerce.com/Mage_Catalog/Mage_Catalog_Model_Product.html#addImageToMediaGallery

    e per recuperare l’immagine da link prima di passarla a tale funzione, potresti utilizzare le funzioni CURL del php (http://it2.php.net/manual/en/book.curl.php)

    Spero di averti dato qualche dritta indicandoti queste funzioni, ma un tutorial completo non lo conosco…

    Ciao

  13. avatarAngelo

    Ti ringrazio davvero. Faccio alcune prove e ti faccio sapere!

    Grazie ancora ;)

  14. avatarManu

    Ho un problema sull’importazione dei prodotti. Ho creato un file csv con i prodotti che vorrei importare, l’ho uploadato su magento e ho eseguito il profilo. Tutto a posto, i prodotti sono stati creati con le relative immagini, ma ho due problemi:
    1. nella sezione immagini vedo abilitato il flag “escludi”, che significa?
    2. dal sito non vedo i prodotti che ho caricato, ma se entro in un prodotto e lo salvo senza far alcuna modifica magicamente appare anche sul sito…

    HELP..

    Grazie,
    Manu

  15. avatarRoberto Rubino Autore

    Ciao Manu,

    1. un’immagine con impostato “escludi” non verrà visualizzata nella gallery. L’uso tipico di questa impostazione è mettere “escludi” all’immagine principale del prodotto, per non vederla ripetuta due volte nella scheda prodotto (una volta perchè immagine principale, l’altra nella lista delle “immagini aggiuntive”)

    2. Il problema che segnali mi fa pensare a un problema di indici (anche se lo fa già in automatico magento, hai provato ad aggiornare gli indici), oppure io controllerei che nel tuo CSV ci siano tutti i campi, in particolare controllerei la presenza delle colonne “store” e “website”… potresti provare a esportare il CSV e vedere la differenza tra il prodotto che vedi e quelli che ancora non visualizzi

    ciao

  16. avatarGiampaolo

    Saluti,
    Avete provato Magento Mass Importer, si possono importare da 1000-2000 prodotti al minuto. Se i campi da aggiornare sono pochi, come per esempio lo stock e la disponibilita, la velocità sale a 5000-6000 prodotti al minuto.
    Cosa ne pensate? Lo avete mai provato?
    Giampaolo

  17. avatarRoberto Rubino Autore

    Salve Giampaolo, no, non è un prodotto che abbiamo avuto modo di provare… i tempi che dici sono molto interessanti… lo terremo sicuramente in considerazione come modulo da valutare

    Ti ringrazio

  18. avatarCristina

    Buongiorno
    ho il seguente problema; ci sto girando da diversi giorno, ho provato a importare le immgini per i miei prodotti come e’ stato spiegato nel post precedente con esporta/importa realizzato fil in cvs ecc……ma assolutamente ha me non funziona non si vede nulla sia nel sito che nella programmazione. Sto usando Magento 1.7.02. Vorrei solamente che si vedesse la foto nel prodotto.
    Ringrazio in anticipo e saluti
    Cristina

  19. avatarRoberto Rubino Autore

    Quello che ti posso consigliare è di verificare i 2 punti fondamentali per importare le immagini:

    – le immagini sono state messe nella cartella “media/import“ con lo stesso nome/percorso ESATTO di come sono state inserite nel CSV ?
    – il nome/percorso dell’immagine nel CSV è preceduto da uno “/” ?

    Ciao

  20. avatarAnna

    Buongiorno
    stò valutando di trasferire il mio e-commerce su magento. Una domanda: io lavoro con diversi fornitori che mi forniscono i loro file csv. Le immagini dei prodotti si trovano sul loro server. C’è un modo per far si che magento le faccia vedere?
    Resto in attesa
    Grazie
    Anna

  21. avatarRoberto Rubino Autore

    Magento prevede di suo degli strumenti per importare dei prodotti da CSV, ma per fargli vedere le immagini bisogna preventivamente portarle in una particolare cartella sul server per farle poi riconoscere in fase di importazione.

    Fortunatamente Magento è una piattaforma altamente personalizzabile, con delle customizzazioni fatte ad hoc (o ricercando un estensione già realizzata) si possono tranquillamente studiare dei processi di importazione che risolvano questo problema di import delle immagini

    curiosità… da che sistema state valutando di migrare ?

  22. avatarpaolo

    Ciao, sto tentando di importare immagini su magento 1.7.0.2, purtroppo mi da come risposta “Image does not exist.”

    Ho controllato più volte il percorso nel file csv (che per comodità ho ridotto ad un singolo prodotto).
    Ho riscritto il percorso tipo:

    /media/import/002.jpg
    nella colonna 22 (image), 41 (small_image), 48 (thumbnail)

    ma purtroppo non riesco proprio a fargliela digerire…
    Ho notato poi che nel menù import profile non c’é il percorso da cui importare le immagini come c’é in questo tutorial.

    qualche suggerimento?

  23. avatarRoberto Rubino Autore

    Ciao Paolo,
    devi inserire il percorso dell’immagine facendo riferimento alla posizione del file nella cartella “media/import”.. ma senza inserire “media/import”

    Quindi per caricare questa immagine:

    /media/import/002.jpg

    Nel CSV devi inserire:

    /002.jpg

    Ciao

  24. avatarpaolo

    Grazie Roberto… una stupidagine alla fine mi impediva di fare l’import. A me, comunque, con la 1.7.0.2 funziona bene l’import standard.

    La cosa che mi ha aiutato della tecnica di import da te descritta è stato il popup che mi avvertiva che l’immagine non veniva trovata, mentre nell’input standard ti dice solamente che ha trovato il prodotto ed il record è ok.

    grazie ancora.

  25. avatarLucas

    Mi è stata davvero molto utile questa guida.
    Sono alle prime armi e grazie a te ho capito come poter importare i prodotti da csv.

    Riesco ad importare senza problemi, tranne per un settaggio, e precisamente il campo “Escludi”.

    Come posso impostare da csv che l’immagine selezionata ed inserita nei campi “image“, “small_image” e “thumbnail” venga visualizzata anche nella scheda prodotto? (la spunta su escludi mi viene fuori senza volerlo)

    Grazie

  26. avatarRoger

    Ci sto perdendo il sonno… che cavolo il percorso è giusto var/export il nome del file anche e mi sembra anche tutti gli altri parametri ma PERCHE’ MI DA ERRORE DI PERCORSOOO..!!
    Starting Mage_Dataflow_Model_Convert_Adapter_Io :: load
    An error occurred while opening file: “Invalid path”.

  27. avatarFrancesco

    Ciao,
    volevo chiederti se questa procedura funziona con la versione 1.7
    Grazie mille per l’attenzione,
    Saluti

    Francesco

  28. avatarRoberto Rubino Autore

    Ciao Francesco,
    si, magari non troverai precisamente tutti gli stessi campi illustrati negli screenshot, ma la procedura è valida anche per la 1.7

  29. avatarManuela

    Ho importato per prova un’immagine seguendo esattamente tutte le indicazioni (caricata immagine in media/import – inserito nome immagine nei campi “image“, “small_image” e “thumbnail” del nostro file csv, con uno slash di fronte al nome dell’immagine). La pop-up non ha segnalato nessun errore – il prodotto è stato inserito in maniera corretta ma non ha immagine.
    Cosa posso verificare per capire l’errore?
    Le immagini importate in media/import vengono copiate in altre cartelle (se sì, dove?) o vengono spostate? Dopo l’importazione prodotto ho notato che la mia immagine è rimasta in media/import e non sono riuscita a trovarla in nessun’altra cartella.

  30. avatarFrancesco

    Grazie Roberto – cercherò di fare qualche prova da csv ;)

    Per Manuela :

    Ciao Manuela,
    dev’essere un piccolo bug di magento, a volte può succedere che al primo import non metta le immagini ne tantomeno i prodotti associati (le varianti del prodotto principale). In questo caso basterà rifare l’import ricaricando lo stesso identico csv (fai un controllo dopo da backend per vedere se non ti ha doppiato le immagini nella gallery)

    Se non è questo, allora vuol dire che non hai aperto del tutto i permessi delle immagini tramite FTP, il valore che richiede Magento è 777 – se usi mac con Cyberduck (o Filezilla con windows) seleziona le foto all’interno dell’FTP e con il tasto destro scegli la voce “Info” (nel caso di Cyberduck) – poi posizionati nella sezione “permessi” della finestrella che ti si aprirà – nel campo di testo vuoto alla voce “permessi UNIX” , metti i numeri “777” e dai INVIO.
    A questo punto tutte le foto selezionate avranno i permessi necessari per essere upploadate all’interno dell’ecommerce.
    Spero di esserti stato d’aiuto,
    Un saluto!

  31. avatarRoberto Rubino Autore

    Ciao Manuela,

    in aggiunta agli ottimi consigli di Francesco,
    rispondo alle tue domande:

    – Le immagini non vengono rimosse dalla cartella import (quindi è corretto che dopo l’importazione rimangono li).
    – Le immagini importate vengono COPIATE nella cartella “media/catalog/product/” con una struttura a cartelle un po’ particolare che usa Magento per smistare i file delle immagini e non accumularli tutti in un’unica cartella

    Ciao

  32. avatarManuela

    Grazie per l’aiuto.
    @Francesco: ho provato senza successo :( – ritenterò.

    @Roberto: il sistema di smistamento foto di magento credo di averlo individuato – nella mia ftp all’interno di media/catalog/product magento crea una cartella e una sotto cartella usando le prime due cifre/lettere del nome della foto – la mia foto ha il nome che inizia per 16, quindi avrei dovuto trovarla in una sotto cartella 6 della cartella 1 ma non c’è.

  33. avatarpino

    Buonasera, ho provato ad importare alcuni prodotti seguendo la procedura sopra descritta ma purtroppo ho il seguente errore:

    “Salta riga importata, il campo richiesto “sku” non è definito.”

    Qualcuno, gentilmente, potrebbe indicarmi qual’è il problema, grazie.

  34. avatarRoberto Rubino Autore

    @pino

    Potrebbe essere legato al formato del CSV che è errato.. prova a controllare che il delimitatore delle colonne sia quello corretto (Magento di default si aspetta la VIRGOLA come delimitatore)… io solitamente mi trovo molto bene a lavorare con Open Office piuttosto che con Excell, che ogni tanto ci mette del suo e “rovinare” il formato del csv…

    ciao

  35. avatarFrancesco

    Ciao Roberto,
    volevo chiederti quale colonna utilizzare per associare i prodotti semplici al prodotto raggrupato e se funziona come la colonna “related” cioè che gli si dà i vari sku associati al prodotto raggruppato separato da una virgola.
    Grazie dell’attenzione,

    Francesco

  36. avatarRoberto Rubino Autore

    Ciao Francesco,
    con gli strumenti standard di Magento non riesci a importare tutti i tipi di prodotto.. in passato mi è capitato di lavorare con questa estensione

    http://www.magentocommerce.com/magento-connect/custom-bulk-product-import-export-with-tier-pricing-product-custom-options-configurable-products-bundle-products-grouped-products-downloadable.html

    che ti permette di importare anche i prodotti raggruppati, configurabili, bundle e semplici con opzioni

    Ciao

  37. avatarMarco

    Ciao Roberto,

    – ho visto com’è strutturato il file csv di magento e vedo che presenta tre colonne immagine (image, small_image, thumbnail) e ho un paio di dubbi.

    Premesso che nella mia installazione esiste una cartella media e al suo interno la cartella import non esiste (forese devo solo crearla?), se voglio inserire 3 immagini per un singolo prodotto sotto quale colonna inserisco il path dell’immagine 2 e 3? Nel csv non vedo campi che facciano riferimento alle immagini non principali.

    – domanda numero 2.
    Se volessi usare un plugin per l’attributo color che in front end mi permetta di vedere l’immagine assegnata a quel colore in particolare, questa cosa è possibile gestirla anche da csv? Supponiamo di avere quindi un prodotto configurabile che ha attributo colore nero e giallo. Posso attribuire via csv il percorso dell’immagine per il nero e il percorso per il giallo?

    Non so se sono stato chiaro
    Grazie in anticipo.

  38. avatarRoberto Rubino Autore

    @Marco: la cartella import creala pure te. Con questa funzionalità di import non hai la possibilità di gestire le immagini della gallery.
    Per quanto riguarda l’import dell’immagine del colore, essendo che andrai a installare un plug-in aggiuntivo, sicuramente non potrai gestire la cosa con gli strumenti standard di Magento… a meno che il plug-in non preveda tale funzionalità.

    Ciao

  39. avatarGiampaolo

    Saluti,
    Dopo aver importato i prodotti in csv, mi trovo i prodotti con le foto escluse dalla galleria, per attivarla devo entrare in ogni singolo prodotto e togliere la spunta da escludi. E’ possibile attivarle stesso dal file csv? Quale campo bisogna valorizzare?
    Giampaolo

  40. avatarandrea

    Buongiorno, grazie per il prezioso tutorial, avrei anche io un problemino….l’ import è andato a buon fine vedo sia i prodotti che le immagini, solo che le immagini non sono associate al prodotto giusto…per esempio in una bilancia mi compare un trapano etc..ho ricontrollato il csv svariate volte e al SKU è linkata l’immagine giusta..avete qualche soluzione?

  41. avatarRoberto Rubino Autore

    @andrea:non vorrei che la sequenza delle righe del CSV venga mal interpretata da Magento per colpa di qualche carattere di “a capo”.

    Quello che ti posso consigliare è di provare a controllare il CSV con un editor di testo per verificare la presenza di questo carattere (dovresti vedere quindi 1 riga per ogni prodotto e non più righe per lo stesso)

    ciao

  42. avatarRoberto Rubino

    no, mi spiace.. con gli strumenti standard di Magento le immagini devo essere dei files della cartella “media/import”

    Ciao

  43. avatarsantpir

    Ciao, è possibile automatizzare l’importazione del csv?
    ad esempio con un button nel gestionale oppure un’importazione temporizzata?
    cioè se magento vede un nuovo csv lo importa e da il response sul gestionale.

  44. avatarAngela

    Salve,
    ho bisogno di modificare (aggiornare) tutti i prezzi di prodotti semplici.
    E’ corretto esportare un CSV con campi mappati, pensavo SKU e Prezzo, e per ognuno modificare il prezzo?
    Poi però come deve essere fatta l’importazione? Aggiornerà tutti i prodotti, mantenendo invariati i campi non modificati (esempio Nome-Descrizione, ecc…?)
    Vorrei avere dei chiarimenti su come procedere con Esportazione/Importazione nel caso di modifiche di soli alcuni campi.
    Grazie

  45. avatarGio

    per importare immagini da URL qul’è la giusta sintassi?

    Grazie