I profili per importazione ed esportazione in Magento

Nell’articolo di oggi continueremo a parlare di importazione ed esportazione di dati da Magento spiegando il concetto di Profili. Un profilo è una procedura di importazione o esportazione di dati configurato in precedenza in base alle nostre preferenze e pronto così per essere riutilizzato ogni volta che ne avremo bisogno. Magento fornisce già sei profili preconfigurati su cui è possibile lavorare, in questo articolo vedremo come utilizzarli.

Andiamo in Sistema > Importa/Esporta > Dataflow – Profili.

profili magento

Nella pagina che si aprirà vedremo la lista dei profili che sono stati creati nel nostro negozio online, tra cui naturalmente quelli preconfigurati di Magento che sono:

  • Export All Products: profilo che esegue l’esportazione di tutti i prodotti presenti nel nostro negozio.
  • Export Product Stocks: profilo che esegue l’esportazione per ogni prodotto il quantitativo in inventario.
  • Import All Products: profilo che esegue l’importazione dei prodotti nel nostro catalogo.
  • Import Product Stocks: profilo che esegue l’importazione del quantitativo dei prodotti in inventario.
  • Export Customers: profilo che esegue l’esportazione dei dati dei clienti.
  • Import Customers: profilo che esegue l’importazione dei dati dei clienti.

Naturalmente è possibile personalizzare questi profili e crearne di nuovi. Cominciamo analizzando il caso di creazione di un profilo d’importazione.

Profilo d’importazione

Clicchiamo su “Aggiungi Nuovo Profilo” entrando così nella pagina di configurazione del profilo. In questa pagina sono presenti i vari campi da compilare per la creazione e sono raggruppati in tre sezioni, vediamole una per una.

Informazioni Profilo

informazioni profilo - importazione

  • Nome: il nome identificativo del profilo.
  • Tipo entità: campo che ci permette di selezionare l’entità che vogliamo importare, le opzioni sono “Prodotti” o “Clienti”.
  • Direzione: in questo campo possiamo definire la tipologia del profilo, le opzioni sono “Importa” ed “Esporta”.
  • Negozio: in questo campo possiamo selezionare il negozio in cui importare i prodotti.
  • Numero di elaborazioni contemporanee: questo campo definisce il numero di “righe”, intese come un prodotto o cliente con tutti i suoi dati, elaborate contemporaneamente durante l’importazione. Aumentare questo valore porterebbe sicuramente un aumento nella velocità d’importazione, ma aumentarlo troppo significherebbe occupare grandi quantità di memoria, generando quindi degli errori durante l’esecuzione. Di default questo valore è 1, prima di aumentarlo è altamente consigliabile controllare le impostazione del server su cui risiede il nostro negozio.
  • Separatore decimale: in questo campo definiamo con quale simbolo indicare la separazione tra parte intera e parte decimale dei numeri da importare.

Informazioni File

  • Trasferimento dati: campo che identifica come effettueremo l’importazione, ha due possibilità di scelta: “Interattivo” o “Server Locale/Remoto”.
  • Interattivo: se selezioniamo questa scelta, prima di eseguire l’importazione dovremo scegliere il file da importare. I vari file d’importazione potranno essere caricati direttamente dal profilo, come vedremo in seguito, o salvati manualmente nella cartella di Magento “var/import”.
     
    trasferimento dati - interattivo

  • Server Locale/Remoto: se selezioniamo questa scelta compariranno altri campi aggiuntivi da compilare. Infatti in questo caso l’importazione di un file verrà gestita tramite questi campi. Vediamo questi campi:
     
    trasferimento dati - locale remoto

    • Tipo: questo campo ha due possibilità “Server Locale”, il file risiederà nella cartella di Magento, o “FTP Remoto”“, in questo caso il file risiederà su server differente. Il profilo per importare questo file utilizzerà il protocollo FTP. Selezionando questa opzione compariranno i campi che permetteranno di connettersi al server remoto:
       
      trasferimento dati - ftp

      FTP Host[Port] dove indicheremo l’indirizzo del server FTP e la porta, Nome utente e Password per le credenziali di accesso, Modalità File dove indicheremo se il file d’importazione è codificato in “Binario” o “ASCII” ed infine Modalità passiva per indicare se ci collegheremo in modalità passiva o attiva al server FTP.

    • Nome File: campo dove indicheremo il nome del file d’importazione.
    • Percorso File: campo dove indicheremo il percorso del file d’importazione, nel caso che abbiamo selezionato “Tipo: Server Locale” dobbiamo utilizzare il percorso relativo della cartella di Magento, quindi per esempio “var/import”.

Formato Dati

  • Tipo: questo campo definisce la tipologia di file con cui importeremo i dati. Le opzioni sono: “CSV / Separato da tabulazioni” e “MS Excel XML”.
    Nel caso che il file sia di tipo “CSV” avremo questi due campi per indicare come è strutturato il file:

    formato dati - csv

    • Delimitatore valore: campo dove è inserito il simbolo con cui sono separati i valori del file.
    • Racchiudi i valori tra: campo dove è inserito il simbolo che racchiude i valori dei campo.

    Nel caso che il file sia di tipo “MS Excel XML” avremo questo campo:

    formato dati - xml

    • Nome foglio di calcolo: possiamo indicare, se presente uno specifico foglio di calcolo presente nel file. Se il file ha solo i dati da importare non è necessario indicare il foglio di calcolo.
  • Il nome degli attributi originali di Magento è nella prima riga: se impostiamo questo campo a “Sì” nella prima riga del file d’importazione dovranno essere indicati i nomi originali degli attributi di Magento e verranno tutti importati. Se impostiamo il campo a “No” comparirà la sezione “Mappatura campi”.

Mappatura campi

mappatura campi

In questa sezione si possono, nel caso dell’importazione, definire quali campi vogliamo importare. Per farlo clicchiamo sul pulsante “Aggiungi Mappatura dei Campi”. Nel menu a tendina a destra sceglieremo l’attributo che vogliamo importare, identificabile per il suo codice univoco. A sinistra invece scriveremo il nome dello stesso campo come viene definito nel file d’importazione.

mappatura campi

Clicchiamo su “Salva e continua la modifica” e dopo aver salvato la configurazione del profilo comparirà un menu a sinistra con alcune voci:

menu profilo importazione

  • Creazione guidata profilo: in questa pagina sono presenti le configurazioni di personalizzazione del profilo, che abbiamo appena analizzato.
  • Carica un file: in questa pagina potremo caricare i file per l’importazione.
  • Esegui profilo: in questa pagina potremo far partire l’esecuzione del profilo.
  • Azioni profilo XML: in questa pagina si possono definire delle azioni particolari, ne parleremo nel prossimo articolo, riguardo alle configurazioni avanzate dei profili.
  • Cronologia profilo: in questa pagina saranno elencate le esecuzioni del profilo.

Carica un file

In questa sezione possiamo caricare i file d’importazione da utilizzare per il profilo. I file verranno caricati nella cartella “var/import/” del vostro Magento, e potranno essere utilizzati in seguito per l’importazione. Prima di vedere come caricare i file poniamo l’attenzione ai due avvisi presenti all’inizio della pagina.

carica un file

  • Le impostazioni del tuo server PHP ti permettono di caricare non più di 2M file per volta: con quest’avviso sono indicate le impostazioni del server su cui risiede il vostro sito. Controllate quindi le dimensioni dei file che volete importare, se sono molto grandi è consigliabile separarli in più file, di circa 300/400 righe ognuno.
  • Assicurarsi che la codifica dei dati nel file sia compatibile e salvata in una delle codifiche supportate (UTF-8 or ANSI): la codifica del file dipende dall’applicazione che utilizzate per crearlo. Di norma i software utilizzato maggiormente salvano di default i file con la codifica UTF-8.

Per caricare i file cliccate su “Scegli file”, si aprirà una finestra di dialogo per selezionare il file d’importazione. Clicchiamo su “Salva” o su “Salva e continua la modifica”. Ora se andremo a controllare nella cartella “var/import/” e saranno presenti i file che abbiamo caricato.

Esegui profilo

In questa sezione potremo far partire l’importazione dei prodotti. Se nella configurazione del profilo abbiamo selezionato il tipo di trasferimento “Interattivo” dovremo selezionare il file da importare dal menu a tendina presente in questa sezione. Dopo aver selezionato il file clicchiamo su “Esegui profilo in popup”. Dopo aver cliccato verrà aperta una nuova finestra o scheda del vostro browser, è importante non chiudere questa finestra/scheda fino a quando l’esecuzione del profilo non è terminata.

esegui profilo - interattivo

Nel caso invece che abbiamo selezionato il tipo di trasferimento “Server Locale/Remoto” non sarà presente nessun menu a tendina, infatti nel momento che clicchiamo su “Esegui profilo in popup” il profilo si occuperà di recuperare il file che abbiamo indicato nella sua configurazione.

esegui profilo - server

Nel caso che siano presenti degli errori in una o più righe (per esempio la mancanza di campi obbligatori come “sku” ) la riga verrà saltata.

popup importazione

Cronologia profilo

In questa sezione avrete un riassunto delle esecuzioni del profilo. Potrete vedere quando è stato utilizzato e chi (nel caso di più amministratori) l’ha eseguito.

Profilo d’esportazione

Dopo aver discusso del caso d’importazione vediamo ora le differenze nel caso in cui si voglia creare un profilo d’esportazione. Creiamo un nuovo profilo e selezioniamo nel campo “Direzione: Esporta”. Analizziamo le differenze nei campi rispetto al profilo d’importazione.

Informazioni Profilo

Nel caso dell’esportazione non sono presenti i campi “Numero di elaborazioni contemporanee” e “Separatore decimale”. Il primo campo infatti è relativo esclusivamente all’elaborazione per l’importazione, mentre il separatore decimale che verrà usato nel file generato sarà il separatore di default di Magento.

informazioni file - esportazione

Informazioni File

Nel profilo d’esportazione potremo indicare come “Trasferimento dati” solo “Server Locale/Remoto”. Gli altri campi hanno lo stesso significato del caso del profilo d’importazione, ma in questa situazione indicheranno il nome del file da generare con l’esportazione e dove esportarlo, se in una cartella dell’installazione di Magento o in una cartella presente su di un server remoto.

Formato Dati

formato dati - esportazione

Nel profilo d’esportazione il campo “Il nome degli attributi originali di Magento è nella prima riga” indicherà se deve essere presente la prima riga con indicati i nomi degli attributi esportati. Inoltre è presente un nuovo campo Esporta che ha due possibilità di scelta:

  • Tutti i campi
  • Solo campi mappati

Nel caso manteniamo la scelta su “Tutti i campi”, il file generato conterrà tutti i campi dei prodotti (o clienti). Se riteniamo di avere bisogno solo di pochi campi, possiamo selezionare “Solo campi mappati”. Se selezioniamo questa opzione comparirà il pulsante “Aggiungi Mappatura dei Campi”. La mappatura dei campi nel caso del profilo d’esportazione indica quali campi esporteremo.

Esporta filtri

filtri esportazione

Questa sezione è esclusiva per il profilo d’esportazione e permette di filtrare i valori che verranno inseriti nel file d’esportazione. I possibili filtri che possiamo utilizzare sono:

  • Nome: si può indicare per esempio la lettera “A” per prendere tutti i prodotti con il nome che inizia con “A”.
  • Sku: come per il nome si può indicare un lettera o più lettere/numeri per filtrare tutti i prodotti con sku che inizia con cosa abbiamo indicato.
  • Tipo: possiamo filtrare per tipologia di prodotti: semplice, configurabile ecc…
  • Nome del set di attributi: filtriamo i prodotti che appartengono ad uno stesso set di attributi.
  • Prezzo: possiamo indicare un intervallo di prezzo.
  • Quantità disponibile: possiamo indicare un intervallo di quantità in inventario dei prodotti.
  • Visibilità: filtro per la visibilità del prodotto: “Ricerca”, “Catalogo”, “Ricerca, Catalogo” e “Non visibile individualmente”.
  • Stato: filtro per lo stato del prodotto: “Abilitato” e “Disabilitato”.

Esegui profilo

Come per l’importazione in questa sezione è possibile eseguire il profilo, cliccando su “Esegui profilo in un Popup”. Verrà aperta una nuova finestra o scheda, che non andrà chiusa fino a che l’operazione di esportazione non è terminata.

popup esportazione

Il file generato dall’esportazione sarà presente dove abbiamo indicato nella configurazione del profilo.

Abbiamo visto come creare e personalizzare un profilo di importazione/esportazione in Magento. Naturalmente se non avete bisogno di particolari configurazioni potrete usare i profili preconfigurati presenti in Magento. Nel prossimo articolo parleremo delle azioni avanzate dei profili d’importazione ed esportazione.

Lascia un commento

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

 

Commenti

  1. Pingback: Importazione ed esportazione in Magento - blog.artera.it

  2. avataremanuela

    Mi sono accorta che a seguito di un’importazione massiva di prodotti su magento si è creato un problema con gli indici. In particolare l’indice Catalog URL Rewrites risulta sempre “in lavorazione” e se provo a lanciare il reindex mi da come errore “There was a problem with reindexing process.” Avete idea di cosa possa essere?

  3. avatarMaurizio Piatti Autore

    Ciao, se un indice di Magento è “in lavorazione” può significare due cose:

    1- Il processo di indicizzazione sta ancora eseguendo le operazioni, e per un’importazione di un grande numero di prodotti può succedere.

    2- Si sono verificati degli errori durante il processo di indicizzazione e il processo stesso si è bloccato.

    Gli errori potrebbero essere di varia natura, errata configurazione dei permessi sulla cartella var/locks o anche errata configurazione del cron. Per sbloccare i processi puoi cancellare il contenuto della cartella var/locks/.

  4. avataremanuela

    Il processo risulta in lavorazione dal 17/8 per cui escludo che possa essere ancora effettivamente in lavorazione. Ho cancellato i file di lock, ma anche rilanciando l’indicizzazione l’errore rimane sempre lo stesso :(

  5. avatarMaurizio Piatti Autore

    Ciao, probabilmente si sono creati dei problemi di doppi indici sui prodotti.. se hai l’accesso shell al tuo magento puoi passare ad un approccio più approfondito:
    – controlla che sono attivi i log sulla tua copia di magento;
    – tramite shell ti posizione nella cartella dove è presente magento e sui il comando php shell/indexer.php –reindexall, eseguendo la reindicizzazione;
    – vai nella cartella var/log e controlla il file exception.log
    Se in questo file è presente un errore di questo tipo:
    “Duplicate entry ‘product/24-1-1’ for key ‘UNQ_CORE_URL_REWRITE_ID_PATH_IS_SYSTEM_STORE_ID'”, allora ci sono problemi di doppi indici.
    Ora la cosa sarebbe di rilavare quali sono i duplicati ed eliminarli dal db, in questo link è descritta la procedura: http://stackoverflow.com/a/12236584

  6. avatarSantino

    Salve a tutti quando provo a esportare tutti i prodotti dopo il popup ho questi due errori

    Invalid option ID specified for canonical_url (product/284), skipping the record. (Riga 247, Cod.: R135)

    Invalid option ID specified for canonical_url (product/450), skipping the record. (Riga 395, Cod.: S075) potete aiutarmi per favore? Grazie in anticipo

  7. avatarMaurizio Piatti Autore

    Ciao, ti chiederei di cercare se esistono i prodotti con id 284 e 450.

  8. avatarAndrea

    Ciao a tutti,
    Vi chiedo aiuto perché davvero non capisco cosa succeda.
    Eseguo l’import dei prodotti tramite un apposito profilo e tutto va secondo i piani durante il processo di import.
    Il problema sta nel fatto che, anche se i prodotti lato admin sono correttamente visibili, lato front non vengono visualizzati.

    Se entro lato admin in un prodotto e salvo senza modificare niente, magicamente il prodotto compare anche lato frontend.

    Qualcuno sa dirmi da cosa può dipendere? Non posso importare tanti prodotti se poi devo ripassarli uno ad uno comunque.

    PS. Cache e indici non c’entrano, ho pulito una, anche se disattiva, e aggiornato gli altri ma niente.

  9. avatardario

    salve,
    io ho un problema, se nel campo descrizione di un articolo ho messo una parola tra virgolette (p.e. “esclusiva”) quando eseguo l’esportazione tramite profilo in un file formato XML mi trovo scritto "esclusiva" invece che “esclusiva”.
    simile accade anche con altri caratteri come la à che mi trovo scritta come à

    qualcuno mi sa aiutare?

    grazie

  10. avatarMaurizio Piatti Autore

    Ciao Dario, magento di default nell’esportazione di prodotti converte tutti i caratteri speciali in entità html ( eccoti una lista http://www.utexas.edu/learn/html/spchar.html). A meno di fare delle modifiche custom, la soluzione più semplice è dopo l’esportazione modificare a mano o tramite qualche script realizzato ad hoc il file, sosituindo le entità html.

  11. avatarantonino

    Ciao,
    io avrei un link del fornitore che punta ad un file xml che viene aggiornato in tempo reale. Ci sarebbe la possibile di effettuare un’importazione di questi prodotti in magento e poi di impostare un aggiornamento automatico?
    Grazie

  12. avatarMarco

    Ciao,
    due domande:
    – esiste un modo per esportare i prezzi con separatore decimale virgola (,) anzichè punto (.)?
    – ho creato un attributo testo in cui inserirsco caratteri alfanumerici. Succede che mi fa importare un solo valore alla volta. Qualcuno saprebbe perchè? Con gli altri attributi creati non fa questo scherzetto

    grazie

  13. avatarArckstone

    Buongiorno,
    qualcuno sa come è possibile scaricare i prodotti con opzioni personalizzate, tramite file Excel, CSV, XML.
    Facendo un’esportazione tramite “dataflow-profili” di prodotti semplici con opzioni personalizzate, vengono esportati solo prodotti semplice senza le opzioni personalizzate.
    Grazie
    Arckstone