Form di contatto dinamico per PrestaShop: un form per soggetto — configurazione e guida

Dynamic Contact Form trasforma la pagina di contatto di PrestaShop in un form per soggetto: il cliente sceglie «Assistenza post-vendita» o «Richiesta di preventivo» e vede solo le domande che servono, con campi che compaiono o scompaiono in base alle sue risposte. Ogni richiesta arriva al team giusto, è conservata in una tabella che puoi filtrare ed esportare, e apre comunque una conversazione nell’assistenza clienti nativa.

Questa guida spiega come installare il modulo, costruire il tuo primo form, instradare le richieste, proteggere il form dallo spam e risolvere i casi più comuni.

Punti di forza:

  • Un form per soggetto della pagina di contatto, con i suoi campi, i suoi destinatari e la sua conferma di ricezione
  • Nove tipi di campo (testo, area di testo, elenco, pulsanti radio, più caselle di controllo, casella di controllo, data, file, blocco informativo), con testo segnaposto, aiuto e controlli
  • Condizioni che funzionano: un campo compare solo quando la risposta a un altro lo richiede, nel browser e sul server
  • Instradamento: copia e copia nascosta, un destinatario scelto in base alla risposta a un elenco, un oggetto e-mail con variabili
  • Richieste conservate nel back office: filtri, file da scaricare, esportazione CSV, eliminazione automatica
  • Conversazione nell’assistenza clienti come con il form nativo, e una conferma di ricezione che non ripete mai il messaggio del cliente
  • Consenso GDPR, antispam (limiti, tempo di compilazione, Turnstile o reCAPTCHA facoltativo) e file protetti
  • PrestaShop 1.7.8, 8.0+ e 9.0+; PHP 7.4 minimo; amministrazione in francese, inglese, spagnolo, italiano e polacco

Scopri il modulo e i suoi piani


Panoramica

Il form di contatto nativo di PrestaShop ha gli stessi campi per tutti i soggetti. Un cliente con un guasto, un cliente che vuole un preventivo e un cliente che chiede della consegna compilano lo stesso form, e il tuo team risponde per chiedere il numero d’ordine, la quantità o una foto. Con Dynamic Contact Form:

  1. Ogni soggetto della pagina di contatto (Parametri del negozio > Contatto > Contatti) ha il suo form: i campi che ti servono per quel tipo di richiesta.
  2. I campi seguono le risposte: il numero d’ordine e la foto del problema compaiono per un guasto, l’azienda compare quando il cliente chiede una fattura.
  3. La richiesta va alle persone giuste: l’indirizzo del soggetto, una copia, e un destinatario scelto in base alla risposta a un elenco.
  4. La richiesta è conservata: una conversazione nell’assistenza clienti, e una riga nel modulo con le sue risposte e i suoi file, pronta per essere filtrata ed esportata.

Il modulo non aggiunge nulla alla pagina oltre al form. Il tema disegna la pagina, il modulo disegna il form nella sua area di contatto. Per un soggetto senza form, il modulo mostra un form semplice (e-mail, messaggio, allegato): nessun soggetto resta vuoto.

Pagina di contatto di un negozio PrestaShop: è scelto il soggetto Assistenza post-vendita, il motivo Guasto mostra i campi numero d’ordine e foto, e la casella fattura mostra il campo aziendaUn form per soggetto, con campi che compaiono quando servono

Funzionalità

Un form per soggetto

Tutti i soggetti del negozio sono proposti nell’elenco della pagina di contatto. Scegli un soggetto: appare il suo form, con la breve descrizione del soggetto sotto l’elenco. Un soggetto che non ha un form mostra il form semplice; un form che disattivi restituisce il suo soggetto al form semplice.

Pagina di contatto con il soggetto Richiesta di preventivo: campi azienda, e-mail di fatturazione, sito web, telefono, quantità e scadenza, poi il messaggio e il pulsante InviaUn altro soggetto, un altro form

Nove tipi di campo

  • Testo (una riga) e Testo (più righe), con un testo segnaposto e un aiuto
  • Elenco a discesa, Pulsanti radio e Più caselle di controllo, con le risposte che scrivi (una per riga se le incolli)
  • Casella di controllo, per una domanda a risposta sì o no
  • Data
  • File: scegli i tipi accettati, la dimensione massima e il numero di file
  • Blocco informativo: un titolo e un testo (HTML consentito) che il cliente legge, come «Rispondiamo entro 24 ore»

Ogni campo può essere obbligatorio, ha una etichetta, un testo segnaposto e un aiuto in ogni lingua del negozio, e una chiave (ricavata dall’etichetta) che dà il nome al campo nell’esportazione CSV e nelle e-mail.

Controlli su ogni campo

Un campo di testo può essere controllato come indirizzo e-mail, indirizzo web, numero di telefono, numero o con una tua espressione regolare (per esempio ^[0-9]{5}$ per un CAP francese; un campo di prova nell’editor ti dice se un valore va bene). Il cliente vede il messaggio accanto al campo, nella sua lingua, e conserva ciò che ha scritto. Il browser controlla il form prima dell’invio; il server lo controlla di nuovo alla ricezione.

Le condizioni: mostrare un campo solo quando serve

Una condizione guarda un altro campo dello stesso form:

  • un elenco, dei pulsanti radio o più caselle di controllo: la risposta è una di (o non è nessuna di) quelle che spunti
  • una casella di controllo: è spuntata (o non è spuntata)
  • un campo di testo: è uguale a un valore, non è uguale ad esso o lo contiene

Un campo nascosto non è né obbligatorio né salvato. Una condizione ha un solo livello: un campo che dipende da un altro non può a sua volta essere testato da un terzo. Browser e server applicano le stesse regole.

File al sicuro

I file inviati con una richiesta sono ispezionati in base al loro contenuto, conservati fuori dalla cartella pubblica del negozio con nomi casuali, e offerti al tuo team come download (non vengono mai aperti nel browser). Sono allegati all’e-mail del team fino alla dimensione che imposti; i file più grandi restano nel back office, dove la richiesta rimanda a essi.

Instradamento: ogni richiesta al team giusto

  • La richiesta va all’indirizzo del soggetto (Parametri del negozio > Contatto > Contatti)
  • Un form può aggiungere sempre una copia e una copia nascosta
  • Gli instradamenti scelgono i destinatari in base alla risposta a un elenco: «quando la risposta a Motivo è Reso, invia la richiesta a resi@… al posto dell’indirizzo del soggetto», oppure «oltre all’» indirizzo del soggetto
  • L’oggetto dell’e-mail accetta variabili: {firstname}, {lastname}, {email}, {order_reference}, {reference}, {subject}, {shop_name} e {field:chiave} per la risposta a un campo

Una conferma di ricezione sempre professionale

Attiva la conferma di ricezione di un form: il cliente riceve un’e-mail subito dopo l’invio, con l’oggetto e il testo che scrivi in ogni lingua (stesse variabili). Non ripete mai ciò che il cliente ha scritto.

Richieste conservate ed esportate

Ogni richiesta diventa una conversazione in Assistenza clienti > Assistenza clienti, con le risposte scritte nel messaggio e un link alla richiesta. Se conservi le richieste nel back office, la scheda Richieste le elenca: filtra per soggetto, data o e-mail, apri una richiesta per leggere le sue risposte e scaricare i suoi file, ed esporta in CSV (una colonna per campo) per Excel, LibreOffice o Google Sheets. Un cliente che risponde dalla tua e-mail prosegue la stessa conversazione.

GDPR e privacy

Ogni form può chiedere un consenso con il tuo testo (HTML consentito, per esempio un link alla tua privacy policy) oppure usare il consenso del modulo GDPR ufficiale. La data del consenso è conservata con la richiesta. Le richieste possono essere eliminate automaticamente dopo un numero di giorni, e il modulo GDPR ufficiale può esportare o cancellare le richieste di un cliente.

Antispam

Un limite di richieste all’ora per indirizzo e all’ora per e-mail, un tempo minimo per compilare il form, un limite di link, un campo trappola nascosto e un token di sicurezza. Puoi aggiungere Cloudflare Turnstile o Google reCAPTCHA con le tue chiavi. Un hook, actionWeprestaDcfSubmitBefore, permette a uno sviluppatore di accettare o rifiutare una richiesta.

Gruppi di clienti, lingue e più negozi

Limita un form a gruppi di clienti (visitatori, ospiti, clienti o i tuoi gruppi): gli altri non vedono il soggetto. Ogni testo esiste in ogni lingua del negozio. In un’installazione multi-store, ogni negozio ha il suo form per ogni soggetto. Un form può essere duplicato, esportato in un file JSON e importato in un altro negozio (arriva disattivato).

Su smartphone

Il form segue il layout del tuo tema: le etichette sono sopra i campi, la tastiera dello smartphone è adatta a un’e-mail, a un numero di telefono o a un numero, e i messaggi restano accanto al campo.

Form di contatto su smartphone: oggetto, e-mail, motivo, numero d’ordine, foto, preferenza di richiamata, blocco informativo, messaggio, casella di consenso e pulsante InviaLo stesso form su smartphone

Requisiti

  • PrestaShop: 1.7.8, 8.0+ o 9.0+. PrestaShop 1.7.7 e le versioni precedenti non sono supportate.
  • PHP: 7.4 minimo, con le estensioni curl, json e mbstring. L’estensione fileinfo è consigliata: senza di essa viene controllata solo l’estensione di un file, non il suo contenuto.
  • Tema: un tema fornito con PrestaShop, o un tema figlio che mantiene la pagina di contatto del tema padre. La Diagnostica ti dice cosa fa il tuo tema.
  • HTTPS consigliato.

Installazione

Metodo 1 — dal back office (consigliato)

  1. Scarica l’archivio dalla tua area clienti WePresta
  2. Vai in Moduli > Gestione moduli
  3. Fai clic su Carica un modulo e seleziona l’archivio ZIP
  4. Attendi la fine dell’installazione, poi fai clic su Configura e attiva la tua licenza

Metodo 2 — via FTP

  1. Decomprimi l’archivio
  2. Carica la cartella wepresta_dynamic_contact_form/ in /modules/
  3. Nel back office: Moduli > Gestione moduli, cerca «Dynamic Contact Form» e fai clic su Installa, poi su Configura

Cosa fa l’installazione

  • Disattiva il form di contatto nativo, perché il modulo serva la pagina di contatto; disinstallare il modulo lo riattiva
  • Crea le tabelle dei form e delle richieste, una cartella per i file fuori dalla cartella pubblica e la voce di menu
  • Registra gli hook del modulo; non sostituisce alcuna classe del negozio
  • Se l’installazione fallisce, ciò che aveva creato viene rimosso

Aggiornamento dalla versione 1.0.0

  • I tuoi form e i loro campi sono conservati, in tutte le lingue
  • I testi e le espressioni regolari danneggiati dalla versione 1.0.0 (apostrofi preceduti da una barra rovesciata, per esempio) sono riparati
  • Le condizioni sono convertite per seguire le risposte da sole, in tutte le lingue
  • La sostituzione della pagina di contatto installata dalla versione 1.0.0 è rimossa; se l’hai modificata a mano, il modulo la lascia e la Diagnostica te lo segnala
  • Le librerie e i file di sviluppo forniti con la versione 1.0.0 (fino a 150 MB) sono eliminati: l’archivio passa da 28 MB a circa 340 KB
  • Se i CSS e JavaScript del tema sono combinati, svuota la cache di PrestaShop dopo l’aggiornamento

Costruisci il tuo primo form in dieci minuti

Apri Moduli > Gestione moduli > Dynamic Contact Form > Configura: la pagina offre Gestisci i moduli e Apri le richieste, e ogni pagina del modulo ha tre schede, Moduli (i tuoi form), Richieste e Impostazioni.

1. Creare il form

  1. Nella scheda Moduli, fai clic su Aggiungi un modulo e scegli il suo oggetto del contatto (crea i soggetti che ti servono in Parametri del negozio > Contatto > Contatti).
  2. Lascia Attivo attivato, scegli i gruppi di clienti se il soggetto è riservato, e spunta Riferimento dell’ordine se i clienti connessi possono indicare l’ordine interessato.
  3. Scrivi il testo del consenso se il form ha bisogno di una casella di consenso, poi salva: compare il pannello Campi.
Editor del form nel back office: tabella dei campi con tipo, chiave, obbligatorietà e condizione scritta come frase, e il pulsante Aggiungi un campoOgni campo e la sua condizione a colpo d’occhio

La tabella dei campi mostra, per ciascuno, il suo tipo, la sua chiave, se è obbligatorio e la sua condizione scritta come frase: «Visibile se “Motivo” è una di Guasto, Reso».

2. Aggiungere i campi e le loro condizioni

  1. Fai clic su Aggiungi un campo, scegli il tipo, scrivi l’etichetta (la barra delle lingue della finestra cambia lingua), il testo segnaposto e l’aiuto.
  2. Per un elenco, dei pulsanti radio o delle caselle di controllo, aggiungi le risposte una per una, oppure incollale una per riga e fai clic su Aggiungi queste risposte.
  3. In Controllo, scegli il tipo di valore atteso (e-mail, indirizzo web, telefono, numero, un tuo modello).
  4. In Condizione, scegli un altro campo del form e le risposte (o lo stato della casella) per cui questo campo deve comparire.
Finestra di modifica di un campo: tipo, etichetta, testo segnaposto, aiuto, controllo, e condizione costruita a partire da un campo elenco e dalle sue risposteModificare un campo: tipo, testi, controllo e condizione

Esempio per un form di assistenza post-vendita: un elenco Motivo (Guasto, Reso, Altro); un campo Numero d’ordine visibile se il motivo è uno di Guasto o Reso; un file Foto del problema visibile se il motivo è Guasto; una casella Desidero una fattura che mostra un campo Azienda.

3. Instradare la richiesta e scrivere la conferma di ricezione

Nel pannello E-mail al tuo team, aggiungi gli indirizzi in Copia a e Copia nascosta a, l’Oggetto dell’e-mail (con variabili) e gli Instradamenti: scegli un campo elenco, le risposte e i destinatari, e se la richiesta va al posto dell’ o oltre all’ indirizzo del soggetto. Poi, in Conferma di ricezione al cliente, attivala e scrivi l’oggetto e il testo in ogni lingua.

Pannello E-mail al tuo team: indirizzi in copia e in copia nascosta, oggetto dell’e-mail con variabili e due instradamenti che dipendono dalla risposta a un elencoInviare ogni richiesta al team giusto

Salva, poi fai clic su Vedilo sul negozio: scegli il soggetto nella pagina di contatto e prova il form.

4. Seguire le richieste

Ogni richiesta compare nella scheda Richieste: aprila per leggere le risposte e scaricare i file. Per esportare, scegli un soggetto e delle date in Esporta in CSV, poi fai clic su Esporta.

Pagina delle richieste: esportazione CSV per soggetto e date, poi elenco delle richieste con data, soggetto, e-mail, conversazione e fileRichieste conservate in una tabella ed esportate in CSV

5. Proteggere il form e impostare la privacy

Apri la scheda Impostazioni: il pannello Antispam contiene i limiti (per impostazione predefinita 10 richieste all’ora per un indirizzo, 5 per un’e-mail, 3 secondi minimo per compilare il form, 3 link in un messaggio), il captcha facoltativo e le sue chiavi, e cosa fare se il captcha non è raggiungibile (accettare la richiesta o rifiutarla). Il pannello Richieste, file e privacy permette di conservare le richieste nel back office, eliminarle dopo un numero di giorni (0 le conserva finché non le elimini), fissare la dimensione massima di un file, i tipi di file accettati e la dimensione dei file allegati all’e-mail del tuo team.

Impostazioni: richieste all’ora per indirizzo e per e-mail, tempo minimo di compilazione, link consentiti, captcha, conservazione delle richieste, dimensione e tipi di fileImpostazioni antispam, conservazione e privacy

Licenza

Dopo l’installazione, Configura mostra il modulo di attivazione: inserisci la chiave di licenza e il segreto di licenza disponibili nella tua area clienti WePresta. La licenza può essere disattivata su un dominio dalla stessa pagina. Quando un abbonamento scade, un periodo di tolleranza di sette giorni evita qualsiasi interruzione; poi la pagina di contatto mantiene un form semplice (oggetto, e-mail, messaggio, allegato) che continua a creare la conversazione, finché la licenza non viene rinnovata. Il modulo si accorge del rinnovo da solo (interroga di nuovo il server delle licenze al massimo una volta all’ora) e ogni volta che apri le sue pagine nel back office. I tuoi form e i loro dati sono conservati.


Casi d’uso comuni

Assistenza post-vendita: le domande giuste per ogni motivo

Un form con un elenco Motivo: un guasto chiede il numero d’ordine e una foto, un reso chiede il numero d’ordine, «Altro» non chiede altro. Il tuo team riceve richieste complete e invia i resi al team resi grazie a un instradamento.

Richieste di preventivo B2B

Un soggetto Richiesta di preventivo con azienda, e-mail di fatturazione (controllata come e-mail), sito web (controllato come indirizzo web), telefono, quantità (controllata come numero) e scadenza. Riservalo al tuo gruppo di clienti professionali se vuoi.

Un soggetto riservato ai membri

Limita un form a un gruppo di clienti: solo questi clienti vedono il soggetto nella pagina di contatto.

Un form per più negozi

Esporta il form in un file JSON e importalo in un altro negozio: campi, condizioni, risposte e testi arrivano con lui, disattivati finché non li controlli.

Raccogliere documenti

Aggiungi un campo File con i tipi che accetti (per esempio pdf,png,jpg), la dimensione massima e il numero di file: i file sono conservati fuori dalla cartella pubblica e il tuo team li scarica dalla richiesta.


FAQ

A cosa serve un form di contatto «dinamico» su PrestaShop?

Il form nativo è spesso troppo generico: gli stessi campi per ogni soggetto, poca qualificazione e molti scambi con l’assistenza clienti. Il modulo lo sostituisce con un form per soggetto (assistenza clienti, preventivo, supporto tecnico, partnership…), con campi adatti alla richiesta che compaiono solo quando sono utili, così ogni messaggio arriva completo e al team giusto.

Si può davvero creare un form diverso per ogni soggetto di contatto?

Sì. Scegli un soggetto definito in Parametri del negozio > Contatto > Contatti, crea il suo form nel modulo (Moduli) e aggiungi i suoi campi: ogni soggetto ha i propri campi e opzioni, i propri destinatari e la propria conferma di ricezione. Un soggetto senza form mostra un form semplice (e-mail, messaggio, allegato): nessun soggetto resta vuoto.

Quali tipi di campi personalizzati si possono aggiungere?

Nove tipi: testo a una riga, testo a più righe, elenco a discesa, pulsanti radio, più caselle di controllo, casella di controllo, data, file e blocco informativo. Un campo di testo può essere controllato come indirizzo e-mail, indirizzo web, numero di telefono, numero o con un tuo modello. Ogni campo può essere obbligatorio, avere un testo segnaposto e un aiuto, e la sua etichetta, le sue risposte e i suoi testi esistono in ogni lingua del negozio.

Come funziona la logica condizionale (campi che compaiono o scompaiono)?

Un campo è mostrato solo se un altro campo dello stesso form soddisfa una condizione: la risposta a un elenco, a pulsanti radio o a caselle di controllo è una delle risposte scelte (o nessuna di esse), una casella è spuntata (o no), oppure un campo di testo è uguale a un valore, diverso da esso o lo contiene. Le regole sono le stesse nel browser e sul server, e un campo nascosto non è né obbligatorio né salvato. Le condizioni hanno un solo livello: un campo condizionale non può essere il genitore di un altro.

Si possono riservare alcuni form ai clienti B2B (gruppi di clienti)?

Sì. Limita un form a uno o più gruppi di clienti: solo i loro clienti vedono il soggetto. È utile per un form «preventivo professionale», un form per rivenditori o un soggetto riservato ai membri, senza creare più pagine di contatto.

Come aiuta il modulo a rispettare il GDPR?

Ogni form può includere una casella di consenso con il tuo testo (HTML consentito, per esempio un link alla privacy policy) oppure usare il consenso del modulo GDPR ufficiale. La data del consenso è conservata con la richiesta. Le richieste possono essere eliminate automaticamente dopo il numero di giorni che scegli, ed esportate o cancellate per un cliente tramite il modulo GDPR ufficiale.

Il cliente riceve una conferma automatica dopo l’invio?

Sì, se la attivi per il form: una conferma di ricezione parte subito dopo la richiesta, con un oggetto e un testo tuoi in ogni lingua e variabili come {firstname}, {reference} o la risposta a un campo. Non ripete mai ciò che il cliente ha scritto. La richiesta crea comunque una conversazione in Assistenza clienti > Assistenza clienti, come il form nativo.

Il modulo è protetto dallo spam (senza CAPTCHA)?

Sì: un limite di richieste all’ora per ogni indirizzo e ogni e-mail (conservato nel database, quindi un robot senza cookie non può aggirarlo), un tempo minimo di compilazione, un limite di link, un campo trappola nascosto e un token di sicurezza. Se vuoi di più, si può attivare un captcha facoltativo (Cloudflare Turnstile o Google reCAPTCHA, con le tue chiavi).

Come distribuire la stessa configurazione su più negozi (o ambienti)?

Ogni negozio ha i propri form. Per riutilizzare un form, esportalo in un file JSON (campi, condizioni, risposte e testi) e importalo in un altro negozio: il form importato arriva disattivato, così puoi controllarlo prima di attivarlo. È utile per un’agenzia (staging → produzione) e per salvare i tuoi form prima di un aggiornamento.

Compatibilità, requisiti e disinstallazione: a cosa fare attenzione?

PrestaShop 1.7.8, 8.0+ e 9.0+ con PHP 7.4 o superiore; HTTPS consigliato. PrestaShop 1.7.7 e le versioni precedenti non sono supportate. Il modulo disattiva il form di contatto nativo all’installazione e lo riattiva alla disinstallazione. Disinstallare elimina i form, le richieste e i loro file: esporta prima i tuoi form (JSON) e le tue richieste (CSV).

Ogni richiesta può andare al team giusto?

Sì. Oltre all’indirizzo del soggetto (Parametri del negozio > Contatto > Contatti), un form può inviare una copia e una copia nascosta ad altri indirizzi, e gli instradamenti scelgono i destinatari in base alla risposta a un elenco: per esempio una richiesta «Reso» va al team resi al posto dell’indirizzo abituale, e una richiesta «Guasto» è messa in copia anche all’assistenza tecnica. L’oggetto dell’e-mail accetta variabili.

Dove sono conservate le richieste e posso esportarle?

Ogni richiesta crea una conversazione in Assistenza clienti e, se conservi le richieste nel back office, una riga nella scheda Richieste del modulo: filtra per soggetto, data o e-mail, leggi le risposte, scarica i file ed esporta in CSV (una colonna per campo) per Excel, LibreOffice o Google Sheets. Puoi anche programmare un’eliminazione automatica dopo un numero di giorni.

Cosa succede se la mia licenza scade?

La pagina di contatto non resta mai vuota: mantiene un form semplice (oggetto, e-mail, messaggio, allegato) che continua a creare la conversazione nell’assistenza clienti. I tuoi form e i loro dati sono conservati e tornano al rinnovo della licenza: il modulo se ne accorge da solo (interroga di nuovo il server delle licenze al massimo una volta all’ora) e ogni volta che apri le sue pagine nel back office. Un periodo di tolleranza di sette giorni evita un’interruzione il giorno della scadenza.


Risoluzione dei problemi

La pagina di contatto mostra un form semplice al posto dei miei form

Controlla in quest’ordine: la licenza (Configura mostra il suo stato; un form semplice è il comportamento senza licenza attiva); il form (è attivato e appartiene a questo negozio?); il soggetto (un form è servito per il soggetto a cui appartiene); i gruppi di clienti del form (un visitatore non vede un form riservato a un gruppo); la Diagnostica in fondo alla pagina delle impostazioni.

La pagina di contatto non mostra niente

Il tuo tema potrebbe non mostrare ciò che i moduli collocano nell’area di contatto. La Diagnostica dice cosa fa il tuo tema. Su PrestaShop 1.7, il modulo serve da solo il template di contatto del tema classico; un tema figlio che sostituisce il template di contatto deve mantenere l’area di contatto.

Le mie e-mail non arrivano

Controlla le impostazioni e-mail di PrestaShop (Parametri avanzati > E-mail): il modulo chiede a PrestaShop di inviare i messaggi, e la Diagnostica ti avvisa quando l’invio è disattivato. Le richieste restano comunque nell’assistenza clienti e nella scheda Richieste.

Un file viene rifiutato

L’estensione deve essere tra i tipi accettati, il file rispettare la dimensione massima e il suo contenuto corrispondere al suo tipo quando l’estensione fileinfo è disponibile. I programmi e le pagine web non sono mai accettati.

A un cliente viene detto che ha inviato troppe richieste

I limiti orari per un indirizzo e per un’e-mail ti proteggono dai robot. Alzali in Impostazioni > Antispam se più clienti reali condividono un indirizzo (un’azienda, una scuola).

Il captcha non compare

Entrambe le chiavi (chiave del sito e chiave segreta) devono essere salvate, e la tua content security policy deve consentire il fornitore (Cloudflare Turnstile o Google reCAPTCHA).

Ho modificato la sostituzione della versione 1.0.0

L’aggiornamento lascia una sostituzione che hai modificato a mano e la Diagnostica la segnala. Il modulo non ne ha più bisogno: confronta le tue modifiche, poi elimina il file ContactController.php dalla cartella override/controllers/front/ e svuota la cache.


Changelog

Versione 2.0.0

Novità

  • Condizioni che funzionano: un campo è mostrato solo quando la risposta a un altro campo è una delle risposte scelte (o nessuna di esse), quando una casella è spuntata o quando un testo corrisponde; browser e server applicano le stesse regole.
  • Nuovi tipi di campo: pulsanti radio, più caselle di controllo e blocco informativo, con un testo segnaposto e un aiuto sotto ogni campo.
  • Controlli per e-mail, indirizzo web, numero di telefono, numero o un tuo modello, con un messaggio accanto al campo; ciò che il cliente ha scritto viene conservato dopo un errore.
  • Un campo file che funziona: scegli i tipi, la dimensione e il numero di file, e i file sono conservati fuori dalla cartella pubblica del negozio.
  • Instradamento delle richieste: una copia e una copia nascosta per form, un destinatario scelto in base alla risposta a un elenco e un oggetto e-mail con variabili.
  • Una conferma di ricezione per form, in ogni lingua, che non ripete mai il messaggio libero del cliente.
  • Richieste conservate nel back office, in una tabella con filtri, file da scaricare ed esportazione CSV.
  • Eliminazione automatica delle richieste dopo il numero di giorni che scegli, ed esportazione e cancellazione tramite il modulo GDPR ufficiale.
  • La conversazione dell’assistenza clienti rimanda alla richiesta, e un cliente che risponde dalla tua e-mail prosegue la stessa conversazione.
  • Antispam per indirizzo e per e-mail, un tempo minimo di compilazione, un limite di link e un Cloudflare Turnstile o Google reCAPTCHA facoltativo.
  • Un hook per gli sviluppatori, actionWeprestaDcfSubmitBefore, per accettare o rifiutare una richiesta prima dell’invio.
  • Una diagnostica con un pulsante Copia per l’assistenza e una modalità debug.
  • Il modulo funziona su PrestaShop 1.7.8, 8.0+ e 9.0+ con PHP 7.4 minimo, in un unico archivio di circa 340 KB.
  • L’amministrazione è tradotta in francese, inglese, spagnolo, italiano e polacco.

Miglioramenti

  • Un soggetto senza form mostra un form semplice (e-mail, messaggio, allegato) invece di niente, e un form disattivato restituisce il suo soggetto al form semplice.
  • Una tabella dei campi con la condizione scritta come frase, una finestra di modifica di un campo con una barra delle lingue, risposte incollate una per riga e un interruttore di stato su ogni form.
  • Duplicare un form, esportarlo in un file JSON, importarlo (arriva disattivato) ed eliminare più form alla volta.
  • Un form per soggetto e per negozio in un’installazione multi-store.
  • La pagina di contatto del tema classico di PrestaShop 1.7 mostra il form senza alcuna sostituzione del negozio.
  • La pagina di contatto carica i suoi form in poche query raggruppate, qualunque sia il numero di campi.
  • Il form di contatto nativo viene riattivato alla disinstallazione del modulo, e un’installazione che fallisce non lascia nulla.
  • L’archivio passa da 28 MB a circa 340 KB.

Correzioni

  • La pagina di contatto non resta più senza alcun form quando la licenza ha un problema.
  • Le pagine di amministrazione non si bloccano più su PrestaShop 1.7 né con PHP 7.
  • Le condizioni possono essere salvate e applicate, e l’interruttore Attivo di un form funziona.
  • Un campo file obbligatorio non rende più impossibile l’invio, e un file non si perde più.
  • Su PrestaShop 8, Elimina la selezione elimina i form spuntati e non più il primo form.
  • Gli apostrofi nelle etichette non guadagnano più una barra rovesciata a ogni salvataggio, e un modello come ^[0-9]{5}$ non rifiuta più ogni inserimento.
  • Un token di sicurezza scaduto non chiude più il cliente in un ciclo, e un messaggio lungo non finisce più su una pagina di errore.
  • Un dipendente senza il diritto non può più modificare i form, e l’ordinamento degli elenchi non può più essere manipolato.
  • I messaggi mostrati ai clienti, l’intestazione della conversazione e gli oggetti delle e-mail sono tradotti.

Dopo l’aggiornamento: i tuoi form e i loro campi sono conservati, i testi e i modelli danneggiati dalla versione 1.0.0 sono riparati, le condizioni sono convertite, la sostituzione installata dalla versione 1.0.0 è rimossa (una che hai modificato a mano è conservata e la Diagnostica te lo segnala) e le librerie che includeva sono eliminate. Se i CSS e JavaScript del tema sono combinati, svuota la cache di PrestaShop.

Versione 1.0.0

  • Prima versione

Supporto

Per qualsiasi aiuto, contattaci dalla tua area clienti WePresta o via e-mail a mail@wepresta.shop, a seconda dell’opzione di supporto del tuo piano.

Prima di scriverci, prepara:

  • le versioni di PrestaShop e di PHP
  • il rapporto della Diagnostica (pulsante Copia per l’assistenza)
  • il tema in uso
  • screenshot del form e dell’editor

Scopri il modulo e i suoi piani

Caricamento in corso ...