PS PrestaShop Intermedio

Import Export CSV e XML per PrestaShop — Guida completa

Installa e configura l'import/export CSV e XML: profili, mappatura visiva, origini FTP/SFTP/URL, cron, log.

Aggiornato Versione del modulo 1.0.1

DF CSV & XML Pro è un motore di import/export universale per PrestaShop 8 e 9. Collega qualsiasi file CSV o XML al tuo negozio tramite una mappatura visiva delle colonne, salva ogni configurazione in un profilo riutilizzabile e può recuperare automaticamente i flussi dei tuoi fornitori da FTP, SFTP o un URL. Questa guida copre l’installazione, la creazione di profili, i formati di colonna attesi, la pianificazione via cron, i log e la risoluzione dei problemi.

Installazione

Vai su Moduli > Gestore dei moduli > Carica un modulo, invia il file dfcsvpro.zip e clicca su Installa. Una volta installato, compare una scheda DF CSV Pro in Parametri avanzati.

Il modulo non aggiunge alcun override del core di PrestaShop e si disinstalla in modo pulito. Vengono create due tabelle (profili e log) oltre ad alcune variabili di configurazione; vengono rimosse alla disinstallazione.

Creare un profilo

Un profilo descrive un’operazione completa: direzione (import o export), entità, formato, origine, mappatura delle colonne, opzioni e pianificazione. Si rilancia in un clic o si attiva automaticamente via cron. Clicca su Nuovo profilo: una procedura guidata ti accompagna in quattro passaggi.

1. Generale

Scegli la direzione (import / export), l’entità, il formato (CSV o XML) e la lingua di destinazione. Per il CSV, imposta il delimitatore (o lascia il rilevamento automatico), la codifica (UTF-8, ISO-8859-1 o Windows-1252), il numero di righe da saltare prima dell’intestazione e il separatore multivalore (virgola per impostazione predefinita). Per l’XML, puoi indicare il nodo elemento o lasciare che il modulo lo rilevi.

Entità disponibili in import: prodotti, combinazioni, categorie, clienti, stock e prezzi. In export: prodotti, categorie, clienti, ordini.

2. Origine

Seleziona da dove proviene il file (import) o dove depositare il risultato (export): caricamento manuale, URL (HTTP/HTTPS), FTP, SFTP o percorso locale. Per FTP/SFTP, inserisci host, porta, utente e password, poi usa il pulsante Prova connessione per validare prima di salvare.

3. Mappatura visiva

Carica un file di esempio (o recuperalo dall’origine remota): il modulo rileva le colonne, mostra un’anteprima delle prime righe e associa automaticamente ogni colonna al campo PrestaShop corretto grazie a un riconoscimento FR/EN (riferimento/SKU, prezzo, quantità/stock, EAN/codice a barre, IVA, ecc.). Regola le associazioni nella tabella; qualsiasi colonna lasciata su «non mappata» viene semplicemente ignorata.

La chiave di corrispondenza (passaggio 4) determina come viene trovato un prodotto esistente: ID, riferimento/SKU, EAN-13 o MPN. Assicurati che la colonna corrispondente sia mappata.

4. Opzioni e pianificazione

Definisci il comportamento di import: creare gli elementi mancanti, aggiornare quelli esistenti, creare le categorie al volo, scaricare le immagini da URL, sostituire o mantenere le immagini esistenti in aggiornamento, e la dimensione del lotto (righe elaborate per chiamata AJAX). Attiva eventualmente la pianificazione e scegli la frequenza (oraria, giornaliera o settimanale). Salva: il profilo compare nell’elenco, pronto per essere eseguito o pianificato.

Formati di colonna

Il modulo comprende i formati di business di PrestaShop. Ecco le convenzioni attese nei tuoi file:

Campo Formato atteso
Prezzo Decimale, virgola o punto: 19,90 o 19.90
Booleani (attivo, ecc.) 1/0, yes/no, sì/no, true/false
Categorie Nomi o ID separati dal separatore multivalore (predefinito ,). Creazione al volo opzionale.
Immagini URL separati dal separatore multivalore. La prima diventa l’immagine di copertina.
Caratteristiche Nome:Valore|Nome:Valore
Combinazioni Gruppo:Valore|Gruppo:Valore (es. Taglia:M|Colore:Rosso)
Aliquota IVA Valore numerico (es. 20), collegato al gruppo di imposte del paese predefinito

Combinazioni

La colonna degli attributi segue il formato Gruppo:Valore|Gruppo:Valore. I gruppi e i valori di attributo mancanti vengono creati automaticamente, e la combinazione è identificata dal suo insieme esatto di attributi — rieseguire l’import non crea quindi duplicati. Il prodotto padre viene trovato tramite il suo riferimento o ID a seconda della chiave di corrispondenza.

Caratteristiche

Usa il formato Nome:Valore|Nome:Valore. Ogni caratteristica e il suo valore vengono creati se non esistono ancora.

Categorie, immagini e tag

Questi campi accettano più valori, separati dal separatore multivalore definito nel profilo. Per le categorie, puoi mescolare nomi e ID; la prima immagine elencata funge da copertina.

Origini remote e sicurezza

In import, il modulo recupera il file da un URL (HTTP/HTTPS, con autenticazione basic se necessario), un server FTP (modalità passiva o attiva), un server SFTP o un percorso locale ristretto alla directory del negozio. In export, può depositare il file generato su FTP/SFTP o in una cartella locale, oppure proporlo per il download.

L’SFTP richiede l’estensione PHP ssh2. Se manca nel tuo hosting, l’interfaccia lo segnala chiaramente e puoi usare FTP o un URL al suo posto.

Le password FTP/SFTP sono cifrate a riposo nel database (AES-256-CBC, chiave derivata dalla chiave di cifratura del tuo negozio) e non vengono mai restituite al browser in chiaro.

Import a lotti e ripresa

Gli import manuali vengono eseguiti a lotti successivi in AJAX, con una barra di avanzamento e contatori in tempo reale (OK / errori / totale). Dopo ogni lotto viene memorizzata la posizione esatta: un file di decine di migliaia di righe si importa senza provocare un timeout PHP, anche su hosting condiviso. In modalità cron, l’elaborazione prosegue in modo sincrono fino all’ultima riga.

Export

Crea un profilo di export scegliendo l’entità (prodotti, categorie, clienti, ordini), il formato (CSV o XML) e i campi da includere. Il file generato viene proposto per il download immediato e/o depositato automaticamente sulla destinazione remota configurata. Gli export vengono generati a lotti per restare performanti su grandi volumi.

Pianificazione (cron)

Per automatizzare un profilo, attiva la sua pianificazione (passaggio 4) poi richiama l’URL di cron del modulo a intervalli regolari. A ogni chiamata vengono eseguiti solo i profili la cui frequenza è scaduta.

*/15 * * * * curl -s "https://il-tuo-negozio.tld/index.php?fc=module&module=dfcsvpro&controller=cron&token=IL_TUO_TOKEN" > /dev/null

L’URL esatto e il token si trovano nella scheda Scheduling / Cron del modulo, con un pulsante per rigenerare il token. Due parametri facoltativi:

  • &id_profile=N: esegue solo il profilo indicato.
  • &force=1: ignora la verifica di frequenza ed esegue il profilo immediatamente.

Il negozio deve essere raggiungibile perché il cron funzioni: la modalità manutenzione blocca i controller front, incluso questo endpoint.

Log e avvisi via e-mail

Ogni esecuzione viene registrata con il suo stato, i suoi contatori e il dettaglio degli errori riga per riga (i primi 200). La scheda Logs elenca lo storico e permette di consultare gli errori di un import. Non appena un import fallisce o contiene righe in errore, un avviso via e-mail (modello FR o EN) viene inviato automaticamente all’indirizzo configurato nelle impostazioni.

Impostazioni

Nella scheda Impostazioni, attiva o disattiva gli avvisi via e-mail, definisci l’indirizzo destinatario, la dimensione del lotto predefinita e il periodo di conservazione dei log (i log più vecchi vengono ripuliti automaticamente). I file temporanei di import/export vengono eliminati dopo 48 ore.

Formato XML

All’import XML, il nodo elemento ripetuto viene rilevato automaticamente (o indicato nel profilo). Gli elementi vengono appiattiti: gli elementi annidati diventano colonne padre/figlio, gli attributi diventano @attributo, e gli elementi ripetuti vengono suffissati nome#1, nome#2. Mappi poi queste colonne appiattite come per un CSV.

Compatibilità e note tecniche

  • Compatibile con PrestaShop 8.0 a 9.x, PHP 7.4 a 8.3, multistore.
  • CSV: rilevamento automatico del delimitatore, gestione del BOM, conversione delle codifiche ISO-8859-1 e Windows-1252.
  • Clienti importati con password cifrata in bcrypt e assegnati a un gruppo per nome.
  • Nessun override del core; l’AJAX legacy usa le convenzioni di PS9.

Risoluzione dei problemi

L’interfaccia del modulo resta vuota o gli elenchi a discesa non si popolano. Svuota la cache di PrestaShop e poi forza il ricaricamento del browser (Ctrl+Maiusc+R). Se è attivo un gestore cache/CCC, rigenera gli asset.

L’SFTP fallisce. Verifica che l’estensione PHP ssh2 sia installata sul server; altrimenti usa FTP o un URL.

Il cron non si attiva. Verifica il token, che il negozio non sia in manutenzione, e che il profilo abbia la pianificazione attivata e un’origine automatica (i profili a caricamento manuale non possono essere pianificati).

Alcune righe sono in errore. Apri il dettaglio del log: ogni errore indica il numero di riga e la causa (colonna chiave mancante, valore non valido, ecc.).

Questa pagina ti è stata utile?

Ancora bloccato? Contatta l'assistenza