Easy Checkout Fields aggiunge le tue domande al checkout di PrestaShop, cioè alle pagine in cui il cliente conclude l’ordine: un numero dell’ordine di acquisto, una fascia oraria per il ritiro, un messaggio regalo, una casella di consenso… I clienti rispondono mentre ordinano, e tu ritrovi le loro risposte nell’ordine, nelle e-mail, nelle fatture e in un’esportazione per il foglio di calcolo.
Questa guida è pensata per chi gestisce un negozio online, non per gli sviluppatori. Ti accompagna passo dopo passo, con esempi reali. Versione descritta: 1.1.1.
Informazioni sulle schermate. Provengono da un negozio demo in inglese, «Colibri & Co», con PrestaShop 9.1. Con un’altra versione di PrestaShop, il tuo back office può essere leggermente diverso. I numeri nei cerchi arancioni delle schermate corrispondono ai passi numerati del testo. I nomi dei menu e dei pulsanti sono indicati in inglese, come nelle schermate: in un back office in italiano, PrestaShop mostra i propri menu in italiano, mentre le pagine del modulo restano in inglese.
1. Cosa fa il modulo
Durante il checkout, PrestaShop chiede solo l’essenziale: nome, indirizzo, corriere e pagamento. Molti negozi hanno bisogno di un’informazione in più, per esempio:
- Ordini B2B: il numero dell’ordine di acquisto del cliente e l’ordine di acquisto firmato in PDF.
- Ritiro in negozio: la fascia oraria in cui il cliente passerà.
- Regali: «Questo ordine è un regalo» e un messaggio per il biglietto d’auguri.
- Consegna: una data di consegna preferita, il codice del portone, il piano.
- GDPR: una casella di consenso, per esempio per comunicare il numero di telefono al corriere.
Con Easy Checkout Fields aggiungi queste domande in autonomia, in pochi clic, senza toccare il tema. Ogni domanda si chiama campo.
Dove finiscono le risposte
Una volta effettuato l’ordine, ritrovi le risposte:
- nella pagina dell’ordine del tuo back office (dove puoi anche scaricare i file allegati);
- nella pagina di conferma dell’ordine e nell’account del cliente;
- nelle e-mail dell’ordine inviate al cliente e nell’e-mail di «nuovo ordine» che ricevi tu;
- sulla fattura PDF e sulla bolla di consegna PDF;
- nella pagina Collected data (dati raccolti) del modulo, con un’esportazione CSV per il tuo foglio di calcolo.
Per ogni campo scegli tu dove compare la risposta.
Compatibilità e requisiti
| Elemento | Supportato |
|---|---|
| PrestaShop | Dalla 1.7.6 alla 9.1 (testato fino alla 9.1.5) |
| PHP | 7.1 o successivo (testato fino a PHP 8.4) |
| Checkout | Il checkout nativo di PrestaShop (4 fasi) |
| Tema | Classic (testato). Per un altro tema, vedi il riquadro qui sotto. |
| Multistore | Sì: ogni negozio ha i propri campi |
Non ancora verificati: il tema Hummingbird, il checkout su una sola pagina di PrestaShop 9.2, i moduli di checkout su una sola pagina di altri sviluppatori e i temi che modificano molto il checkout. Se ne usi uno, prova prima il modulo su una copia del tuo negozio.
Piani: Free, Starter e Business
Il modulo è venduto in abbonamento, con tre piani. Il piano Free funziona senza chiave di licenza e senza limiti di tempo. I prezzi aggiornati sono indicati nella pagina del modulo.
| Funzione | Free | Starter | Business |
|---|---|---|---|
| Numero di campi | 3 | Illimitati | Illimitati |
| Tipi di campo | Text, Text area, Dropdown list, Yes / No, GDPR consent, Info message | Tutti i tipi tranne File upload (13 tipi) | Tutti i 14 tipi |
| 8 posizioni nel checkout, salvataggio automatico, controlli a ogni fase | ✓ | ✓ | ✓ |
| Risposte nella pagina dell’ordine, nella pagina di conferma, nell’account del cliente e nelle e-mail | ✓ | ✓ | ✓ |
| Strumenti GDPR (psgdpr, pulizia automatica, anonimizzazione, eliminazione) | ✓ | ✓ | ✓ |
| Display targeting (visualizzazione mirata) per prodotti, categorie, gruppi di clienti e lingue | – | ✓ | ✓ |
| Campo obbligatorio in base a un’altra risposta | – | ✓ | ✓ |
| Fattura PDF, bolla di consegna PDF ed esportazione CSV | – | ✓ | ✓ |
| Mostrare un campo in base a un’altra risposta o al contesto del checkout (carrello, corriere, pagamento, paese, gruppo, ospite) | – | – | ✓ |
| Campo obbligatorio in base al contesto del checkout | – | – | ✓ |
| Display targeting per corriere | – | – | ✓ |
| Campo File upload (caricamento di file) | – | – | ✓ |
| Modificare le risposte dalla pagina dell’ordine | – | – | ✓ |
Nel modulo, la maggior parte delle funzioni che il tuo piano non include mostra un piccolo lucchetto, di solito con il nome del piano che le sblocca.
Se il tuo abbonamento termina, il modulo torna al piano Free. I tuoi campi e le risposte già raccolte vengono conservati. Nel checkout, un campo il cui tipo, display targeting o condizioni di visualizzazione non sono inclusi nel piano Free viene nascosto, invece di essere mostrato a tutti: così un campo riservato ad alcuni clienti non diventa mai visibile a tutti per errore. Vengono nascosti anche i campi oltre i primi 3 che il piano può mostrare. Un obbligo condizionale smette semplicemente di valere, e le risposte non compaiono più su fatture e bolle di consegna.
2. Installazione
Prima di iniziare, scarica il file ZIP del modulo dalla tua area clienti su modules.gekkode.com: Le mie licenze, poi il pulsante Scarica della tua licenza. Non decomprimerlo.
- Nel back office, apri Modules > Module Manager.
- Clicca su Upload a module in alto a destra (1).
- Trascina il file ZIP nella finestra, oppure clicca su select file e selezionalo.
- Attendi il messaggio «Module installed!», poi clicca su Configure.


Da questo momento il modulo si trova nel menu Orders (1), alla voce Easy Checkout Fields (2). Ha quattro pagine, organizzate in schede in alto: Dashboard, Fields (campi), Collected data e Settings (impostazioni).

Buono a sapersi. Installare il modulo non cambia il tuo checkout. I clienti non vedono nulla finché non crei e attivi un campo.
Licenza e attivazione
Il piano Free funziona appena il modulo è installato: non devi attivare nulla. Per il piano Starter o Business, colleghi la licenza al tuo negozio in due punti: prima nella tua area clienti, poi in PrestaShop.
Nella tua area clienti su modules.gekkode.com (inizia sempre da qui):
- Apri I miei siti e clicca su Aggiungi un sito.
- In URL del sito, scrivi il dominio del tuo negozio, per esempio
mio-negozio.it, poi clicca su Aggiungi sito. Puoi scriverlo con o senzahttps://ewww.: vengono ignorati, quindiwww.mio-negozio.itemio-negozio.itsono lo stesso sito. Un sottodominio, invece, è un sito diverso:shop.mio-negozio.itnon èmio-negozio.it. - Apri Le mie licenze, apri la tua licenza Easy Checkout Fields, clicca su Attiva su un sito e scegli il sito che hai appena aggiunto.
- Clicca su Copia la chiave per copiare la tua chiave di licenza. Ha questo formato:
XXXX-XXXX-XXXX-XXXX.
Poi in PrestaShop:
- Apri Orders > Easy Checkout Fields > Dashboard.
- In fondo alla pagina, clicca sul pannello Informazioni sul modulo (Module information) per aprirlo.
- Incolla la chiave nel campo Chiave di licenza (License Key), poi clicca su Attiva licenza (Activate License).


«Dominio non autorizzato»? Il dominio del tuo negozio non è ancora collegato alla licenza. Controlla i passi da 1 a 3 nella tua area clienti, poi ricarica la Dashboard. Il pannello mostra, alla voce Dominio del negozio (Shop domain), il dominio usato dal tuo negozio: deve essere quello che hai aggiunto.
Se il server delle licenze non risponde (problema di rete sul tuo server o sul nostro), il modulo mantiene il tuo piano a pagamento per 14 giorni, in base all’ultima verifica riuscita, e riprova da solo. Dopo 14 giorni senza risposta, passa al piano Free finché il server non risponde di nuovo. Quando succede, un messaggio nelle pagine del modulo ti avvisa.
Se la tua licenza scade o viene sospesa (per esempio dopo un pagamento non riuscito), il modulo passa al piano Free e un messaggio spiega cosa fare. Rinnova o sistema il pagamento dalla tua area clienti: le funzioni a pagamento tornano alla verifica successiva.
Aggiornare il modulo
Il pannello Informazioni sul modulo della Dashboard controlla se esistono nuove versioni. Quando ce n’è una, mostra Aggiornamento disponibile e un pulsante Installa l'aggiornamento. Il modulo conserva una copia di sicurezza della versione attuale e la ripristina automaticamente se qualcosa va storto. Puoi anche cliccare su Scarica lo ZIP e installarlo da Modules > Module Manager > Upload a module. Entrambi i pulsanti richiedono una chiave di licenza attivata nel pannello. Senza chiave, scarica il nuovo ZIP da Le mie licenze nella tua area clienti e caricalo allo stesso modo. I tuoi campi, le risposte e i file allegati vengono conservati.
Disinstallare
Se disinstalli il modulo, i tuoi campi, le risposte e i file caricati vengono conservati per impostazione predefinita, così puoi reinstallarlo in seguito senza perderli. Solo la pagina Settings torna ai valori predefiniti. Per eliminare tutto al momento della disinstallazione, attiva prima Delete ALL data on uninstall (elimina TUTTI i dati alla disinstallazione) in Settings.
3. Il tuo primo campo in 5 minuti
Esempio: consegni mobili e vuoi che i clienti lascino delle istruzioni per la consegna (codice del portone, piano, orario migliore). La risposta deve comparire sulla bolla di consegna, così l’autista ce l’ha sotto mano.
Passo 1: apri il form
Vai in Orders > Easy Checkout Fields, nella scheda Fields, e clicca su New field (nuovo campo).

Passo 2: compila l’essenziale
- Label (etichetta) (1): la domanda che legge il cliente. Scrivi Istruzioni per la consegna (nella schermata: Delivery instructions).
- Field type (tipo di campo) (2): scegli Text area, una casella di testo su più righe.
- Placeholder (testo segnaposto) (3), facoltativo: un esempio in grigio che compare dentro la casella vuota. Scrivi Codice del portone, piano, orario migliore per la consegna…
- Help text (testo di aiuto) (4), facoltativo: una breve nota sotto il campo. Scrivi Facoltativo. Il nostro autista lo leggerà prima della consegna.

Passo 3: scegli dove e quando compare
Nella colonna di destra:
- Active field (campo attivo) (1) è attivato: il campo comparirà nel checkout.
- Required field (campo obbligatorio) (2) resta disattivato: il cliente può lasciarlo vuoto. Rendi obbligatorio un campo solo se senza la risposta non puoi davvero preparare l’ordine.
- Step (fase) (3): scegli Step 3 — Shipping, la fase in cui il cliente sceglie un corriere.
- Placement (posizione) (4): scegli After the carriers (dopo i corrieri).
- In Show the answer in (mostra la risposta in), lascia attivi i primi tre interruttori e attiva PDF delivery slip (bolla di consegna PDF) (5).
Con il piano Free, gli interruttori PDF sono bloccati: la bolla di consegna e la fattura sono incluse dal piano Starter in su.

Passo 4: salva e verifica
Clicca su Create field (crea campo) in fondo al form. Il campo compare ora nell’elenco e nel tuo checkout, sotto i corrieri:

Fai un ordine di prova nel tuo negozio: troverai la risposta nella pagina dell’ordine del back office, nelle e-mail e sulla bolla di consegna.
Mantieni il checkout breve. Ogni domanda in più rallenta i clienti. Chiedi solo ciò che usi davvero, preferisci i campi facoltativi e usa le condizioni per mostrare un campo solo ai clienti interessati.
4. I 14 tipi di campo
Scegli il tipo adatto alla risposta che ti aspetti. Il form mostra solo le impostazioni utili per il tipo scelto.
| Tipo | Cosa vede il cliente | Esempio concreto | Impostazioni specifiche |
|---|---|---|---|
| Text | Una casella su una riga | Codice fiscale dell’azienda, codice del portone | Lunghezza massima (predefinita: 255 caratteri) |
| Text area | Una casella su più righe | Istruzioni per la consegna, messaggio per il biglietto d’auguri | Lunghezza massima (predefinita: 2.000 caratteri) |
| Date | Un calendario per scegliere la data | Data di consegna preferita, data di un evento | Date consentite: qualsiasi data, da oggi in poi, fino a oggi |
| Time | Un selettore dell’orario (ore e minuti) | Orario di consegna preferito | – |
| Number | Una casella che accetta solo un numero | Numero di invitati, numero di colli | Valore minimo, valore massimo |
| Una casella che controlla il formato dell’e-mail | E-mail del destinatario del regalo, dell’ufficio contabilità | – | |
| Phone | Una casella che controlla il formato del numero di telefono | Telefono della persona che riceve il pacco | – |
| Dropdown list | Un elenco a tendina, con una sola scelta | Fascia oraria di ritiro | Scelte (una per riga) |
| Radio buttons | Tutte le scelte visibili, se ne può selezionare una sola | «Lasciare il pacco: davanti alla porta / da un vicino» | Scelte (una per riga) |
| Checkboxes | Tutte le scelte visibili, se ne può spuntare più d’una | Opzioni regalo: confezione, biglietto, nastro | Scelte (una per riga) |
| Yes / No | Una sola casella da spuntare | «Ordino per un’azienda», «Questo ordine è un regalo» | – |
| File upload | Un pulsante «Scegliere un file» | Ordine di acquisto firmato, logo da stampare | Estensioni consentite, dimensione massima (vedi Caricamento di file) |
| Info message | Un testo, senza nulla da compilare | «Gli ordini effettuati dopo le 14:00 partono il giorno successivo.» | Messaggio (è consentito HTML semplice, per esempio un link) |
| GDPR consent | Una casella da spuntare accanto al tuo testo | «Accetto che il mio numero di telefono venga comunicato al corriere.» | Messaggio (è consentito HTML semplice, per esempio un link alla tua pagina sulla privacy) |
Scrivere le scelte di un elenco
Per Dropdown list, Radio buttons e Checkboxes, scrivi una scelta per riga in Choices (scelte). Puoi scrivere semplicemente il testo mostrato al cliente:
Martedì, 10:00 – 12:00
Mercoledì, 14:00 – 18:00
Oppure puoi usare la forma valore|Testo mostrato: la parte prima del | è un codice breve salvato con l’ordine, la parte dopo è ciò che legge il cliente.
tuesday|Martedì, 10:00 – 12:00
wednesday|Mercoledì, 14:00 – 18:00
saturday|Sabato, 10:00 – 13:00

valore|Testo mostrato.Usa la forma valore|Testo mostrato se il tuo negozio ha più lingue. Traduci il testo dopo il | e mantieni lo stesso codice in tutte le lingue. Così le risposte restano coerenti qualunque sia la lingua del cliente, e le tue condizioni funzionano in tutte le lingue.
Tre tipi che si comportano in modo diverso
- Yes / No: se lo rendi obbligatorio, il cliente deve spuntarlo per poter ordinare. Per una domanda a cui il cliente può rispondere «no», lascialo facoltativo: una casella non spuntata viene registrata come ✗.
- GDPR consent: sempre obbligatorio. Il cliente non può ordinare senza spuntarlo. La risposta viene salvata con l’ordine (✓), come prova del consenso.
- Info message: mostra soltanto il tuo testo. Non raccoglie nulla, quindi non compare mai negli ordini, nelle e-mail o nei documenti.
5. Fasi del checkout e posizione
Il checkout nativo di PrestaShop ha 4 fasi. Per ogni campo scegli la fase (Step), poi la posizione (Placement) all’interno di quella fase: prima o dopo il suo contenuto principale. In tutto sono 8 posizioni possibili.
| Fase | Cosa fa il cliente | Posizione «prima» | Posizione «dopo» |
|---|---|---|---|
| Step 1 — Personal information | Inserisce nome ed e-mail, accede al suo account oppure ordina come ospite | Before the customer information form | After the customer information |
| Step 2 — Addresses | Inserisce o sceglie l’indirizzo di consegna | Before the address selection | After the address selection |
| Step 3 — Shipping | Sceglie un corriere | Before the carriers | After the carriers |
| Step 4 — Payment | Sceglie un metodo di pagamento e conferma l’ordine | Before the payment methods | After the payment methods |
Quale fase scegliere? Fai la domanda nel punto in cui ha senso per il cliente:
- «Ordini per un’azienda?»: fase 1, insieme ai dati personali.
- Il codice del portone o il piano: fase 2, dopo l’indirizzo.
- Una fascia oraria di ritiro o una data di consegna preferita: fase 3, dopo i corrieri.
- Un numero dell’ordine di acquisto, un messaggio regalo, un consenso: fase 4, prima dei metodi di pagamento. Nel dubbio, è il punto più sicuro: il cliente ha già fatto tutte le sue scelte.
Nella stessa posizione, i campi compaiono nella sequenza dell’elenco Fields. Trascina le righe per cambiarla.
Come vengono salvate e controllate le risposte
- Salvate mentre il cliente scrive. Ogni risposta viene salvata con il carrello man mano che viene digitata. Non si perde nulla se il cliente torna a una fase precedente.
- Controllate a ogni fase. Quando il cliente clicca su Continue per passare alla fase successiva, il modulo controlla i campi di quella fase: un campo obbligatorio lasciato vuoto o un formato sbagliato (un’e-mail non valida, una data passata…) viene evidenziato in rosso con una spiegazione.
- Controllate di nuovo prima del pagamento. Quando il cliente conferma l’ordine, ogni campo visibile del checkout viene ricontrollato, anche sul server. Un campo con un problema diventa rosso con il suo messaggio (per esempio «Questo campo è obbligatorio.») e la pagina scorre fino al campo.
- Un campo nascosto non blocca mai l’ordine. Un campo nascosto dalle sue condizioni non viene mai controllato, e ciò che il cliente scrive mentre è nascosto non viene salvato.

6. Condizioni: mostrare un campo solo quando serve
Una condizione è una regola come «mostra questo campo solo se il cliente paga con bonifico bancario». Le condizioni mantengono breve il checkout: ogni cliente vede solo le domande che lo riguardano.
Nel form del campo trovi due riquadri:
- Conditional display (visualizzazione condizionale): il campo viene mostrato solo quando le regole sono soddisfatte. Altrimenti è nascosto e non è mai obbligatorio.
- Conditionally required (obbligatorio a condizione): il campo è sempre mostrato, ma diventa obbligatorio solo quando le regole sono soddisfatte.
I due riquadri funzionano in modo indipendente. Puoi usarne uno, l’altro o entrambi.
Come si scrive una regola
Una regola ha tre parti, da scegliere negli elenchi, da sinistra a destra: cosa controllare, come confrontare e il valore. Per esempio: Selected payment method · is · ps_wirepayment.
Quando un riquadro contiene più regole, scegli in alto se per il campo serve ALL conditions are met (tutte le regole devono essere vere) oppure AT LEAST ONE condition is met (basta una regola vera).
Esempio 1: numero dell’ordine di acquisto per i clienti aziendali che pagano con bonifico
I clienti aziendali che pagano con bonifico bancario devono indicare il numero del loro ordine di acquisto. Gli altri clienti non devono vedere questa domanda. Il negozio demo usa un campo Yes / No «Ordino per un’azienda» (I’m ordering for a company) nella fase 1, poi un campo Text «Numero dell’ordine di acquisto» (Purchase order number) nella fase 4.
- Apri il campo «Numero dell’ordine di acquisto». In Conditional display, attiva Enable conditions for this field (1).
- In Show the field when, lascia ALL conditions are met (2).
- Clicca su Add a condition e imposta: Another field · Ordino per un’azienda · is · Yes (3). Nell’elenco dei valori, Yes compare come «Oui / Yes».
- Aggiungi una seconda condizione: Selected payment method · is ·
ps_wirepayment(4). È il nome tecnico del modulo per il bonifico bancario (vedi la tabella più sotto). - In Conditionally required, attiva Enable conditional requirement (5) e aggiungi: Selected payment method · is ·
ps_wirepayment(6). - Lascia disattivato Required field nella colonna di destra, poi clicca su Save changes.

Lascia disattivato «Required field» quando usi «Conditionally required». «Required field» rende il campo obbligatorio ogni volta che è mostrato, qualunque siano le tue regole. L’obbligo condizionale funziona solo se «Required field» è disattivato.
Risultato nel checkout: il cliente spunta «Ordino per un’azienda» nella fase 1, poi sceglie il bonifico nella fase 4, e compare il numero dell’ordine di acquisto, insieme al campo per caricare l’ordine di acquisto firmato.


Esempio 2: messaggio per il biglietto d’auguri
Crea un campo Yes / No «Questo ordine è un regalo» (This order is a gift), poi un campo Text area «Messaggio per il biglietto d’auguri» (Gift card message) nella stessa fase. Sul campo del messaggio, aggiungi una condizione di visualizzazione: Another field · Questo ordine è un regalo · is · Yes. La casella del messaggio compare solo quando il cliente spunta «Questo ordine è un regalo».

Esempio 3: fascia oraria per il ritiro in negozio
Il campo «Fascia oraria per il ritiro in negozio» (In-store pickup time slot) è un Dropdown list nella fase 3, dopo i corrieri. La sua condizione di visualizzazione è Selected carrier · is · 1, dove 1 è il numero del corriere «Click and collect» del negozio demo. La fascia oraria compare appena il cliente sceglie il ritiro in negozio, e scompare se sceglie la consegna.


Cosa può controllare una regola
Il primo elenco di una regola propone 9 scelte. Per alcune devi scrivere un numero o un nome tecnico: la tabella ti dice dove trovarlo.
| Scelta | Cosa controlla | Cosa scrivere come valore |
|---|---|---|
| Another field | La risposta del cliente a un altro campo | Per un Yes / No: scegli Yes o No. Per un elenco: scegli una delle sue scelte. Negli altri casi, scrivi il testo da confrontare. |
| Cart total | L’importo del carrello tasse incluse, senza le spese di spedizione | Un importo, con il punto per i decimali: 100 o 99.90 |
| Products in cart | I prodotti nel carrello | L’ID di un prodotto, visibile nella colonna ID di Catalog > Products |
| Categories in cart | Le categorie dei prodotti nel carrello | L’ID di una categoria, visibile in Catalog > Categories |
| Selected carrier | Il corriere scelto nella fase 3 | Il numero del corriere, visibile nella colonna ID di Shipping > Carriers (vedi le FAQ se hai modificato il corriere) |
| Selected payment method | Il metodo di pagamento scelto nella fase 4 | Il nome tecnico del modulo di pagamento, per esempio ps_wirepayment (bonifico bancario), ps_checkpayment (assegno), ps_cashondelivery (contrassegno). Per trovarlo, clicca su Configure accanto al modulo di pagamento nel Module Manager: il nome compare nell’indirizzo della pagina, subito dopo configure. |
| Delivery country | Il paese dell’indirizzo di consegna | L’ID di un paese, visibile in International > Locations > Countries |
| Customer group | I gruppi a cui appartiene il cliente | L’ID di un gruppo, visibile in Customers > Groups. Per impostazione predefinita: 1 = Visitor (visitatore), 2 = Guest (ospite), 3 = Customer (cliente). Un cliente che ordina senza account qui conta come Visitor: per individuarlo, usa invece Guest checkout. |
| Guest checkout | Se il cliente ordina senza account | Scegli Yes o No |
Come confrontare
| Operatore | La regola è vera quando… | Esempio |
|---|---|---|
| is | il valore è esattamente quello che hai scritto. Per prodotti, categorie e gruppi, ne basta uno. | Selected carrier · is · 1 |
| is not | il valore è diverso | Delivery country · is not · 8 |
| contains | la risposta contiene il tuo testo, senza distinguere maiuscole e minuscole | Another field (Ragione sociale) · contains · Srl |
| does not contain | la risposta non contiene il tuo testo | Another field · does not contain · test |
| is empty | il cliente non ha risposto, una casella Yes / No non è spuntata, oppure la risposta è 0 | Another field (Partita IVA) · is empty |
| is filled | il cliente ha risposto | Another field (Codice del portone) · is filled |
| is greater than | il numero è strettamente maggiore | Cart total · is greater than · 500 |
| is less than | il numero è strettamente minore | Cart total · is less than · 50 |
Regole da conoscere
- Una risposta scritta mentre il campo era visibile resta nell’ordine. Per esempio, se un cliente scrive un messaggio regalo e poi toglie la spunta da «Questo ordine è un regalo», il messaggio che aveva scritto resta comunque salvato con l’ordine.
- Quali campi si possono usare in una regola? Un campo attivo che non ha a sua volta una condizione di visualizzazione, e che non è né un File upload né un Info message. Le condizioni hanno un solo livello: un campo mostrato a condizione non può a sua volta condizionarne un altro. Se l’elenco è vuoto, il form te lo segnala: crea prima l’altro campo.
- Una scelta non ancora fatta conta come «sconosciuta». Finché il cliente non ha scelto un corriere o un metodo di pagamento, un campo che ne dipende resta nascosto. Compare appena la scelta è fatta, senza ricaricare la pagina.
- Un campo può dipendere solo da ciò che è già noto. Metti il campo nella stessa fase della scelta da cui dipende, o in una fase successiva. Per esempio, un campo che dipende dal metodo di pagamento va nella fase 4.
Display targeting: riservare un campo ad alcuni clienti
Il riquadro Display targeting (visualizzazione mirata) è un modo più semplice per limitare un campo. Lascia tutto vuoto per mostrare il campo a tutti i clienti, oppure compila uno o più criteri:
- Products in cart e Categories in cart: scrivi almeno 2 lettere, poi clicca sul prodotto o sulla categoria da aggiungere. Il campo compare se il carrello ne contiene almeno uno.
- Customer groups: spunta i gruppi autorizzati a vedere il campo.
- Shop languages (solo se il negozio ha più lingue): spunta le lingue in cui il campo compare.
- Carriers: spunta i corrieri. Questo criterio è pensato per i campi mostrati nella fase 4, quando il corriere è già stato scelto. Per un campo della fase 3 che deve reagire al corriere su cui clicca il cliente, usa invece una condizione Selected carrier (esempio 3).
Se compili più criteri, devono essere soddisfatti tutti. All’interno di un criterio, basta una corrispondenza.

Targeting o condizione? Il targeting viene deciso quando si carica la pagina del checkout, in base al carrello e al cliente. Una condizione reagisce in tempo reale a ciò che il cliente fa nella pagina: spuntare una casella, scegliere un corriere o un metodo di pagamento.
7. Tradurre i testi
I testi dei tuoi campi
Ogni testo che scrivi in un campo (etichetta, testo segnaposto, testo di aiuto, scelte, messaggio) esiste in ogni lingua del tuo negozio. Queste caselle riportano la dicitura Multilang field (campo multilingue).
- In alto nel riquadro The essentials, scegli una lingua in Language.
- Scrivi i testi in quella lingua.
- Ripeti per ogni lingua, poi salva.
- Se lasci vuota l’etichetta in una lingua, il modulo copia quella di un’altra lingua, così la domanda non resta mai senza testo.
- Gli altri testi non vengono copiati. Compila le Choices di un elenco e il Message di un Info message o di un GDPR consent in tutte le lingue: altrimenti, per i clienti di quella lingua, l’elenco è vuoto o la casella non ha testo.
- Per gli elenchi, usa la forma
valore|Testo mostrato(vedi Scrivere le scelte).
I testi del modulo
Il modulo mostra ai clienti anche i propri testi: il titolo «Informazioni aggiuntive», il pulsante «Scegliere un file» e i messaggi di errore («Questo campo è obbligatorio.»…). Sono disponibili in inglese, francese, spagnolo, italiano, tedesco e polacco.
Nella versione 1.1.1 questi testi non si possono modificare dal back office: la pagina delle traduzioni di PrestaShop (International > Translations) non li elenca. In una lingua diversa da queste sei, i clienti li vedono in inglese. Se il titolo «Informazioni aggiuntive» non ti piace, puoi nasconderlo in Settings.
La lingua del back office del modulo
Il back office del modulo segue la lingua dell’utente connesso. È disponibile in inglese e in francese; nelle altre lingue compare in inglese.
Le risposte vengono registrate con l’etichetta nella lingua del cliente al momento dell’ordine. Se un cliente ha ordinato in francese, nella pagina dell’ordine leggerai l’etichetta in francese.
8. Dove trovare le risposte
In ogni campo, il riquadro Show the answer in indica dove compare la sua risposta. Per impostazione predefinita, i primi tre punti sono attivi. Le risposte facoltative lasciate vuote non vengono mostrate né al cliente, né nelle e-mail, né sui documenti; la pagina dell’ordine del back office, invece, le mostra comunque, vuote. Una casella Yes / No non spuntata compare come ✗.
Nella pagina dell’ordine del back office
Apri l’ordine in Orders > Orders. Il blocco Additional information (Easy Checkout Fields) elenca le risposte. Clicca sul nome di un file per scaricarlo (1).
Per correggere una risposta data per errore, clicca sulla matita accanto (2), modifica il valore e clicca su Save. I file non si possono modificare.
La modifica delle risposte dalla pagina dell’ordine è inclusa nel piano Business.

Nella pagina di conferma e nell’account del cliente
Con Customer account & confirmation page (account del cliente e pagina di conferma) attivo, il cliente ritrova le risposte nella pagina di conferma subito dopo l’ordine, poi nel suo account, nello storico degli ordini, aprendo i dettagli dell’ordine.


Nelle e-mail
Con Order emails (e-mail dell’ordine) attivo, a queste e-mail viene aggiunto un blocco «Informazioni aggiuntive», senza modificare i tuoi modelli di e-mail:
- al cliente: conferma dell’ordine, in attesa del pagamento con bonifico, in attesa del pagamento con assegno, pagamento accettato;
- a te: l’e-mail di «nuovo ordine». PrestaShop la invia tramite il suo modulo Mail alerts (ps_emailalerts), che deve essere installato e configurato con il tuo indirizzo e-mail.
Il blocco compare sotto il metodo di pagamento nella conferma dell’ordine e nell’e-mail di «nuovo ordine», e alla fine delle altre e-mail. In Settings puoi smettere, in un colpo solo, di aggiungere le risposte a tutte le e-mail per i clienti, oppure all’e-mail di «nuovo ordine». Per un file caricato, l’e-mail mostra il nome del file, non il file stesso.

Sulla fattura e sulla bolla di consegna
Attiva PDF invoice (fattura PDF) e/o PDF delivery slip nel campo. In fondo al documento compare allora un blocco «Informazioni aggiuntive». Fatture e bolle di consegna vengono generate nel momento in cui le apri, quindi una risposta compare anche sui documenti degli ordini passati.
La fattura e la bolla di consegna sono incluse dal piano Starter in su.


Se modifichi o elimini un campo
- L’etichetta viene registrata con ogni risposta. Se in seguito rinomini un campo, gli ordini passati mantengono l’etichetta che il cliente ha visto.
- Eliminare un campo non elimina mai le risposte già collegate agli ordini. Restano visibili nella pagina dell’ordine del back office, nella pagina Collected data e nell’esportazione, ma non più nelle pagine del cliente, nelle e-mail o sui documenti.
- Se un ordine viene suddiviso in più ordini (uno per corriere), ogni ordine conserva le risposte.
9. Dati raccolti ed esportazione CSV
La pagina Collected data elenca le risposte dei tuoi ordini, dalle più recenti: ordine, campo, risposta, file, cliente e data. Mostra anche le risposte ancora nei carrelli, contrassegnate con Cart (not ordered) (carrello senza ordine): per impostazione predefinita vengono eliminate dopo 30 giorni se il carrello non diventa mai un ordine (vedi GDPR). Puoi cercare, filtrare per campo (2) e aprire l’ordine.

Esportare in un foglio di calcolo
Clicca su Export CSV (1). Ottieni un file con una riga per ordine, che si apre in Excel, LibreOffice o Google Sheets. Contiene:
- l’ordine: numero, riferimento, data, stato, corriere, metodo di pagamento, totali e valuta;
- il cliente: nome, e-mail, indirizzi di consegna e di fatturazione;
- i prodotti: quantità, nome e riferimento;
- poi una colonna per ogni campo, con le risposte.
Le colonne sono separate da punti e virgola. Il file è codificato in modo che le lettere accentate si vedano correttamente in Excel. Ogni testo che inizia con =, +, - o @ riceve un apostrofo davanti, così il foglio di calcolo non lo esegue mai come una formula. I numeri semplici restano come sono.
L’esportazione CSV è inclusa dal piano Starter in su.
L’esportazione contiene dati personali (nomi, e-mail, indirizzi). Conserva il file in un posto sicuro ed eliminalo quando non ti serve più.
10. Caricamento di file
Con un campo File upload, il cliente allega un documento all’ordine: un ordine di acquisto firmato, un logo da stampare, un disegno… Il cliente clicca su Scegliere un file. Il file viene inviato subito; può toglierlo con la × e sceglierne un altro.
Il campo File upload è incluso nel piano Business.
Quali file sono accettati
- Estensioni: per impostazione predefinita
pdf, jpg, jpeg, png, gif, doc, docx, txt, zip. Puoi cambiare questo elenco per tutti i campi in Settings, oppure per un solo campo nelle sue impostazioni (Allowed extensions). - Dimensione: 5 MB per file per impostazione predefinita, valore che si imposta in Settings. Per accettare file più grandi, aumenta questo valore fino al limite del tuo server, che il modulo ti mostra; per andare oltre, chiedi al tuo provider di hosting di aumentare i limiti di caricamento di PHP (
upload_max_filesizeepost_max_size). Nelle impostazioni di un campo puoi fissare un limite più basso per quel campo. - Sempre rifiutati, qualunque sia il tuo elenco: programmi e script (per esempio
php,js,exe,sh,html,svg). - Contenuto reale verificato: per i formati più comuni (PDF, immagini, documenti Word ed Excel, testo, CSV, ZIP), il modulo controlla che il file sia davvero ciò che indica la sua estensione, se il tuo server dispone dell’estensione PHP «fileinfo» (la maggior parte dei provider di hosting ce l’ha). Un programma rinominato viene rifiutato.
Dove vengono conservati i file
I file vengono salvati nella cartella modules/easycheckoutfields/uploads/ del tuo negozio, con nomi casuali e senza estensione. Li scarichi solo dal back office: dalla pagina dell’ordine o dalla pagina Collected data. E-mail, fatture ed esportazione mostrano solo il nome del file.
La cartella contiene una regola che la chiude ai visitatori sui server Apache, i più diffusi. Se il tuo server usa Nginx, chiedi al tuo provider di hosting di bloccare l’accesso web a questa cartella.
Includi questa cartella nei tuoi backup. Se elimini a mano la cartella del modulo dal server, i file spariscono insieme alla cartella.
11. GDPR e dati personali
Le risposte ai tuoi campi possono essere dati personali. Il modulo ti dà gli strumenti per rispettare il GDPR:
- Campo GDPR consent. Scrivi il tuo testo, con un link alla tua pagina sulla privacy se vuoi. La casella è sempre obbligatoria, e il ✓ viene salvato con l’ordine come prova del consenso.
- Modulo GDPR ufficiale (psgdpr). Se usi il modulo GDPR gratuito di PrestaShop, Easy Checkout Fields compare nel suo elenco. Quando un cliente chiede i suoi dati, l’esportazione include le sue risposte. Quando chiede di essere dimenticato, le sue risposte e i suoi file vengono eliminati.
- Eliminazione di un cliente. Quando elimini un cliente in PrestaShop, vengono eliminati anche le sue risposte e i suoi file.
- Risposte dei carrelli abbandonati. Le risposte salvate in carrelli che non sono mai diventati ordini vengono eliminate dopo 30 giorni, per impostazione predefinita.
- Anonimizzazione. Dopo un certo numero di mesi, puoi far sostituire le risposte dei vecchi ordini con «[anonymized]» (e far eliminare i file).
- Eliminazione una per una. Nella pagina Collected data, l’icona del cestino (3) elimina definitivamente una risposta e il suo file.
I tempi di conservazione si impostano in Settings > GDPR & data retention (vedi più sotto). Chiedi solo le informazioni che ti servono: è la prima regola del GDPR, e i tuoi clienti te ne saranno grati.
12. Impostazioni
La pagina Settings definisce il comportamento generale del modulo. Dopo ogni modifica, clicca su Save settings in fondo alla pagina.
Visualizzazione nel checkout (Checkout display)
Show the “Additional information” title above the fields: mostra o nasconde il titolo «Informazioni aggiuntive» sopra ogni gruppo di campi nel checkout.

- Customer emails (order confirmation, payment): aggiunge le risposte alle e-mail inviate al cliente. Se è disattivato, le e-mail partono comunque, ma senza le risposte.
- Merchant notification (new order): aggiunge le risposte all’e-mail di «nuovo ordine» che ricevi tu.
Ogni campo può anche essere escluso dalle e-mail con il proprio interruttore Order emails.

Caricamento di file (File uploads)
- Allowed extensions (default): le estensioni accettate dai campi File upload, separate da virgole. Un campo può avere un proprio elenco.
- Max size (MB, default): la dimensione massima di un file. La nota sotto la casella indica il limite del tuo server. Un campo può avere un limite più basso, non più alto.

GDPR e conservazione dei dati (GDPR & data retention)
- Purge abandoned cart answers after (days): 30 per impostazione predefinita. Con 0 la pulizia è disattivata.
- Anonymize order answers after (months): 0 per impostazione predefinita, cioè le risposte vengono conservate. Per esempio, con 36 vengono anonimizzate le risposte degli ordini con più di 3 anni.

Opzioni avanzate (Advanced)
- Strict server-side blocking (disattivato per impostazione predefinita): rifiuta di creare l’ordine quando manca un campo obbligatorio, anche se i controlli nel browser sono stati aggirati (robot, checkout insoliti). Lascialo disattivato, a meno che l’informazione non sia indispensabile per il tuo contratto. Attenzione: con un modulo di pagamento che incassa il denaro prima di creare l’ordine, un ordine rifiutato può lasciare un pagamento senza ordine.
- Automatic retention tasks on shop traffic (lazy cron) (attivo per impostazione predefinita): la pulizia e l’anonimizzazione partono da sole, al massimo una volta ogni 6 ore, quando i visitatori navigano nel tuo negozio. Se preferisci un orario fisso, disattivalo e chiedi al tuo provider di hosting di richiamare regolarmente l’indirizzo mostrato sotto l’interruttore (un «cron job»). Tieni riservato questo indirizzo.
- Delete ALL data on uninstall (disattivato per impostazione predefinita): se lo attivi, la disinstallazione del modulo elimina definitivamente i campi, le risposte e i file caricati.

Più negozi (multistore)
Con la funzione multistore di PrestaShop, ogni negozio ha i propri campi e le proprie risposte. Prima di gestire i campi di un negozio, sceglilo nel selettore dei negozi in alto nel back office.
13. Domande e risoluzione dei problemi
Il mio campo non compare nel checkout
Controlla, in quest’ordine:
- Il campo è Active (attivo): colonna Status dell’elenco Fields.
- Stai guardando la fase giusta: il campo compare solo nella fase scelta nelle sue impostazioni.
- Il suo Display targeting corrisponde al tuo carrello di prova (prodotti, categorie, gruppo, lingua, corriere).
- Le sue condizioni sono soddisfatte. Un campo che dipende dal corriere o dal metodo di pagamento compare solo dopo che quella scelta è stata fatta.
- Il tuo tema usa il checkout nativo. Con un modulo di checkout su una sola pagina o con un checkout molto modificato, i campi potrebbero non comparire.
Con il piano Free, un campo il cui tipo, targeting o condizioni di visualizzazione non sono inclusi viene nascosto, e nel checkout compaiono solo i primi 3 campi che il piano può mostrare.
Un cliente non riesce a completare l’ordine
Un campo obbligatorio visibile è vuoto, oppure una risposta ha un formato sbagliato. Il campo viene evidenziato in rosso con il motivo, per esempio «Questo campo è obbligatorio.», e la pagina scorre fino al campo. Un campo nascosto non blocca mai un ordine. Se i clienti restano spesso bloccati, chiediti se il campo debba davvero essere obbligatorio.
Se hai attivato Strict server-side blocking in Settings, PrestaShop può anche rifiutare l’ordine con il messaggio «Compilare le informazioni obbligatorie prima di effettuare l'ordine.»
Un campo Yes / No obbligatorio blocca i clienti che rispondono «no»
È normale: una casella Yes / No obbligatoria deve essere spuntata. Per una vera domanda sì/no, lascia il campo facoltativo, oppure usa un campo Radio buttons con le scelte «Sì» e «No».
Le risposte mancano nell’e-mail di «nuovo ordine» che ricevo
- Controlla che il modulo Mail alerts di PrestaShop sia installato e configurato con il tuo indirizzo e-mail: è questo modulo a inviare l’e-mail.
- Controlla che Merchant notification (new order) sia attivo in Settings, e che Order emails sia attivo nel campo.
- Un campo facoltativo lasciato vuoto non compare nelle e-mail.
Le risposte mancano sulla fattura o sulla bolla di consegna
Attiva PDF invoice o PDF delivery slip nel riquadro Show the answer in del campo, poi riapri il documento. Un campo facoltativo lasciato vuoto non compare.
Questi due interruttori sono inclusi dal piano Starter in su.
La mia condizione sul corriere non funziona
Quando modifichi un corriere, PrestaShop può assegnargli un nuovo ID, ma il modulo riconosce il corriere dal suo primo ID, quello che aveva quando è stato creato. Se da allora hai modificato il corriere, scrivi quel primo ID. Se non lo conosci, usa Display targeting > Carriers per un campo nella fase 4: lì spunti il corriere in base al suo nome.
La mia condizione sul metodo di pagamento non funziona
Il valore deve essere il nome tecnico del modulo di pagamento, non il nome mostrato ai clienti: ps_wirepayment, non «Bonifico bancario». Controlla anche che il campo sia nella fase 4, dove si sceglie il metodo di pagamento.
Il file di un cliente viene rifiutato
Il messaggio spiega il motivo. «Questo tipo di file non è consentito.»: l’estensione non è nell’elenco, oppure il contenuto del file non corrisponde alla sua estensione. «Questo file è troppo grande.» (oppure «Questo file è troppo grande (massimo 5 MB).»): il file supera il limite. Aggiungi l’estensione all’elenco se è sicura, oppure aumenta la dimensione massima in Settings, entro il limite del tuo server. Programmi e script vengono sempre rifiutati.
Il back office del modulo è in inglese
Il back office del modulo esiste in inglese e in francese. Segue la lingua dell’utente connesso: in qualsiasi lingua diversa dal francese, compare in inglese. I tuoi clienti, invece, vedono i testi del modulo in inglese, francese, spagnolo, italiano, tedesco o polacco.
PrestaShop 1.7.6 e 1.7.7 non leggono i file di traduzione presenti nella cartella di un modulo. Per questo, quando viene installato o aggiornato, il modulo copia i suoi testi in francese nella cartella app/Resources/translations/ del tuo negozio. Se quella cartella non è scrivibile (permessi di accesso sul server), la copia non riesce e il modulo resta in inglese, anche per un utente di lingua francese. Chiedi al tuo provider di hosting di rendere la cartella scrivibile, poi reinstalla il modulo o installa l’aggiornamento successivo. Una reinstallazione conserva i tuoi campi e le risposte, a meno che Delete ALL data on uninstall non sia attivo, ma riporta la pagina Settings ai valori predefiniti.
Posso modificare un campo dopo aver ricevuto degli ordini?
Sì. Gli ordini passati mantengono l’etichetta e la risposta così com’erano al momento dell’ordine. Se cambi le scelte di un elenco, le risposte passate mantengono il testo che il cliente aveva scelto.
Che cosa fa «Duplicate»?
Crea una copia del campo, con tutte le sue impostazioni, e aggiunge «(copy)» alla sua etichetta. La copia viene creata inattiva, quindi non compare nel checkout finché non l’hai adattata.
Con il piano Free, la duplicazione viene rifiutata una volta raggiunto il limite di 3 campi.
Il modulo rallenta il mio negozio?
I suoi script vengono caricati solo nella pagina del checkout, e il suo foglio di stile solo nelle pagine del checkout e di conferma. Le attività GDPR automatiche vengono eseguite al massimo una volta ogni 6 ore.
Come ottengo assistenza?
Clicca sulla bolla Supporto in basso a destra nelle pagine del modulo per aprire un ticket: puoi allegare una schermata, e la risposta arriva sia lì sia via e-mail. Puoi anche aprire un ticket dalla tua area clienti su modules.gekkode.com.
14. Glossario
- Acquisto come ospite (Guest checkout)
- Ordinare senza creare un account cliente.
- Back office
- L’area di amministrazione del tuo negozio, dove gestisci prodotti, ordini e moduli.
- Bolla di consegna
- Il documento PDF che accompagna il pacco.
- Campo
- Una domanda che aggiungi al checkout.
- Campo obbligatorio (Required field)
- Un campo a cui il cliente deve rispondere per effettuare l’ordine, quando è visibile.
- Carrello
- L’elenco dei prodotti che il cliente sta per acquistare. Le risposte vengono salvate insieme al carrello fino all’ordine.
- Checkout
- Le pagine in cui il cliente effettua l’ordine, dal carrello al pagamento. Il checkout nativo di PrestaShop ha 4 fasi.
- Condizione
- Una regola che mostra un campo, o lo rende obbligatorio, solo in alcuni casi.
- Corriere
- Il metodo di consegna scelto nella fase 3 (un’azienda di trasporti, il ritiro in negozio…).
- Cron job
- Un’attività che il tuo server esegue da solo a intervalli regolari, configurata dal tuo provider di hosting.
- CSV
- Un semplice file per fogli di calcolo, che si apre in Excel, LibreOffice o Google Sheets.
- Display targeting
- Criteri (prodotti, categorie, gruppi, lingue, corrieri) che riservano un campo ad alcuni carrelli o clienti.
- Estensione
- La parte finale del nome di un file, che ne indica il tipo:
.pdf,.jpg… - Etichetta (Label)
- La domanda mostrata sopra un campo.
- GDPR
- Il regolamento europeo sui dati personali.
- Gruppo di clienti
- Un insieme di clienti in PrestaShop (Visitor, Guest, Customer, oppure gruppi creati da te, come «Professionisti»).
- ID
- Il numero che PrestaShop assegna a ogni prodotto, categoria, corriere, paese o gruppo. Compare nella colonna ID degli elenchi.
- Multistore
- Una funzione di PrestaShop per gestire più negozi da un unico back office.
- Nome tecnico
- Il nome interno di un modulo, in minuscolo, come
ps_wirepayment. - Operatore
- Il modo in cui una regola confronta: is, is not, contains, is greater than…
- psgdpr
- Il modulo GDPR ufficiale di PrestaShop, che gestisce le richieste di accesso e di cancellazione dei clienti.
- Testo di aiuto (Help text)
- Una breve nota mostrata sotto un campo.
- Testo segnaposto (Placeholder)
- Un esempio in grigio mostrato dentro una casella vuota, che scompare quando il cliente inizia a scrivere.
- ZIP
- Un file compresso che contiene il modulo. Lo carichi così com’è, senza decomprimerlo.