Hai trovato ciò che cercavi?

Hai trovato ciò che cercavi?

Clicca sui banner

ci vogliono al massimo 3 secondi.



mercoledì 16 aprile 2014

L'importazione di articoli in prestashop. affrontare il csv.

La prima cosa da pensare quando si cerca di importare gli articoli in Prestashop è sicuramente il tempo di esecuzione. E' necessario suddividere il programma in moduli, ognuno dei quali dovrebbe fare una sola azione. Concettualmente si potrebbe dividere il problema nei seguenti moduli: 1. scaricare il file CSV sul server 2. importare il file CSV nel database così com'è 3. creare le categorie che ospiteranno gli articoli 4. importare gli articoli con informazioni base 5. inserire il resto delle informazioni degli articoli (combinazioni e valori) 6. aggiornare quantità e prezzi Inoltre spesso è consigliabile dividere concettualmente il programma in due grandi moduli: 1. la Grande Importazione Iniziale 2. l'aggiornamento giornaliero Ovviamente queste considerazioni vanno fatte caso per caso, ci sono aziende che sanno perfettamente cosa venderanno già all'inizio dell'anno e altre che giorno per giorno potrebbero dover rivedere tutto il catalogo. Nel caso che il catalogo sia predicibile, ovvero per quelle aziende che hanno un catalogo fisso, ma che deve essere aggiornato di giorno in giorno nelle quantità e nelle disponibilità, l'idea è quella di importare da subito tutti i prodotti, e di giorno in giorno un CRON chiamerà solo le funzioni per aggiornare combinazioni, prezzi e quantità, disattivando prima tutti gli articoli e riattivado solo quelli che hanno una quantità positiva (ad esempio). la cosa importante da implementare, in ogni caso, è il download del file csv e l'importazione dell'intero file sul database, senza nessuna modifica, infatti lavorare poi sul database sarà più veloce che non leggere il file csv dall'inizio alla fine di volta in volta per inserire categorie, prodotti etc etc.
while (($data = fgetcsv($handle, 1000, ";")) !== false) { //per ogni riga del file... //inserisci nel database ogni campo. }
il "1000" è "la lunghezza della riga più lunga... si, davvero, io ci ho messo 1000, perchè mi sembrava abbastanza grande da contenere il dato più lungo della tabella, ma è del tutto arbitrario.

Nessun commento:

Posta un commento