Proseguiamo 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.
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“.
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.
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:
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):
[php]
#modifichiamo il php.ini da .htaccess
php_value max_execution_time 0
[/php]
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).