DataFirefly Cart History & Restore Links: cronologia dei carrelli e link di ripristino
Installazione, link di ripristino nel back office, pagina I miei carrelli salvati, impostazioni, sicurezza dei link e risoluzione dei problemi.
Installazione
Installa il modulo da Moduli > Gestione moduli > Carica un modulo inviando il file ZIP, oppure copia la cartella dfcartrestore nella directory /modules/ del negozio e clicca su Installa.
L’installazione crea una tabella di registro (dfcartrestore_log), genera la chiave segreta che firma i link e aggiunge la pagina I miei carrelli salvati all’account cliente. Nessuna tabella nativa viene modificata: i carrelli ripristinati sono normali carrelli PrestaShop.
Funzionamento
Un link di ripristino non trasferisce mai un carrello. Quando qualcuno lo apre, il modulo legge le righe del carrello di origine e le aggiunge una per una al suo carrello, come se cliccasse su «Aggiungi al carrello» per ogni articolo.
- Il carrello di origine non viene mai modificato, anche se appartiene a un altro cliente o è legato a un ordine.
- Nessuno accede all’account del proprietario del carrello, a differenza del link nativo di recupero carrello di PrestaShop.
- Prezzi, promozioni, disponibilità, quantità minime e ordinabilità sono quelli del momento del ripristino.
- Lo stesso link può essere usato più volte, da più persone.
Link di ripristino nel back office
Elenco carrelli
In Clienti > Carrelli, la colonna Link di ripristino mostra un pulsante Copia link per ogni carrello che contiene prodotti. Il link viene copiato negli appunti senza aprire il carrello. Nell’esportazione CSV dell’elenco, questa colonna contiene l’URL in chiaro.
Dettaglio del carrello
In cima alla pagina del carrello, un riquadro mostra il link completo con i pulsanti Copia link e Apri, oltre al numero di volte in cui il link è stato usato. Se è configurata una durata di validità, viene indicata la data di scadenza.
Scheda cliente
Il blocco Carrelli e link di ripristino elenca gli ultimi 10 carrelli non vuoti del cliente, con data, numero di articoli, totale prodotti, stato dell’ordine e pulsante di copia.
Il link viene generato nella lingua e per il negozio del carrello: un cliente spagnolo riceve un link alla versione spagnola del negozio.
Cosa vede chi apre il link
Con la pagina di anteprima attiva (impostazione predefinita), il link apre una pagina con gli articoli del carrello, le miniature e le quantità. Il visitatore clicca su Aggiungi questi articoli al mio carrello per avviare il ripristino e viene poi reindirizzato al carrello o al checkout secondo la tua impostazione.
Un messaggio riassume il risultato: prodotti aggiunti, buoni applicati, quantità adeguate alla disponibilità e articoli che non è stato possibile aggiungere.
Per un preventivo preparato al telefono, crea il carrello da Ordini > Aggiungi nuovo ordine, poi copia il suo link dall’elenco dei carrelli e invialo al cliente.
Pagina I miei carrelli salvati
Il link I miei carrelli salvati compare nell’account cliente e nel blocco Il mio account del piè di pagina. La pagina elenca i carrelli del cliente che contengono prodotti, dal più recente al più vecchio, ognuno con:
- la data dell’ultima modifica, il numero di articoli e il totale prodotti;
- lo stato Ordinato con il riferimento e un link all’ordine, oppure Non ordinato;
- le miniature dei prodotti e un dettaglio espandibile in cui sono segnalati gli articoli non più disponibili;
- il pulsante Ripristina questo carrello e, se l’opzione è attiva, il pulsante Copia link di condivisione.
Il carrello attuale del cliente non compare nell’elenco. In modalità sostituzione, una conferma avvisa il cliente che il carrello attuale verrà sostituito e che lo ritroverà in questa stessa pagina.
Impostazioni
Account cliente
- Mostra la cronologia dei carrelli nell’account cliente: attiva la pagina I miei carrelli salvati e i relativi link.
- Comportamento del ripristino: Sostituisci il carrello attuale crea un nuovo carrello e lascia il precedente nella cronologia; Aggiungi al carrello attuale unisce gli articoli a quelli già presenti. Un visitatore non registrato unisce sempre, perché non potrebbe recuperare un carrello sostituito.
- Mostra i carrelli già trasformati in ordine: permette di riordinare gli stessi articoli con un clic.
- Carrelli per pagina: da 1 a 50, 10 per impostazione predefinita.
- Periodo della cronologia (giorni): vengono elencati solo i carrelli aggiornati in questo periodo, 365 per impostazione predefinita, 0 senza limiti.
- Consenti ai clienti di copiare un link di condivisione: utile nel B2B, quando un buyer prepara il carrello e un collega effettua l’ordine.
- Dopo il ripristino, reindirizzare il cliente a: pagina carrello o checkout. Se alcuni articoli sono stati adeguati o esclusi, il cliente passa sempre dalla pagina carrello per vederli.
Link di ripristino
- Validità dei link (giorni): si applica ai link generati da ora in poi, 0 per link senza scadenza.
- Mostra una pagina di anteprima prima del ripristino: consigliato, vedi la sezione Sicurezza.
- Riprendere i buoni sconto: Mai, Solo quando il cliente ripristina dal proprio account (predefinito) o Sempre. Un buono viene applicato solo se è ancora valido per il nuovo carrello e il suo titolare. Le regole automatiche senza codice vengono riapplicate da PrestaShop stesso.
Sicurezza dei link
Ogni link contiene l’identificativo del carrello e una firma HMAC-SHA256 calcolata con la chiave segreta del modulo. Un identificativo modificato a mano rende il link non valido.
Il pulsante Invalida tutti i link esistenti rigenera la chiave segreta: tutti i link condivisi fino a quel momento smettono di funzionare, i nuovi link mostrati nel back office funzionano normalmente.
I gateway di posta (Outlook Safe Links, Proofpoint, Mimecast) e le anteprime dei link di Slack, Teams o WhatsApp aprono i link automaticamente. Se disattivi la pagina di anteprima, ogni apertura automatica da un normale browser creerebbe un carrello. I bot riconosciuti vedono sempre la pagina di anteprima, anche quando è disattivata.
Regole applicate al ripristino
- Prodotto disattivato, non ordinabile o assente dal negozio: ignorato.
- Combinazione eliminata: ignorata.
- Quantità inferiore alla quantità minima: portata alla quantità minima.
- Disponibilità insufficiente senza ordini fuori stock consentiti: quantità ridotta alla disponibilità se rispetta ancora il minimo, altrimenti l’articolo viene ignorato.
- Prodotto personalizzato: testi copiati, file caricati duplicati sul server, così eliminare la riga copiata non cancella mai il file di un ordine.
- Nessun articolo aggiunto: il carrello creato per l’occasione viene eliminato e il carrello attuale del visitatore viene ripristinato.
Registro dei ripristini
La pagina di configurazione mostra gli ultimi 30 ripristini del negozio: data, origine (link o account cliente), carrello di origine, nuovo carrello, cliente od ospite, numero di articoli aggiunti ed esclusi. I numeri di carrello aprono la relativa scheda nel back office.
Per gli sviluppatori
actionDfcartrestoreAfterRestore: eseguito dopo ogni ripristino riuscito, conid_cart_source,id_carteorigin(linkoaccount).actionDfcartrestoreCustomizationCopy: eseguito dopo la copia di una personalizzazione, conid_customization_source,id_customization,id_cart_sourceeid_cart. Un modulo che salva i propri dati per personalizzazione (configuratore, incisione) lo usa per duplicarli.
Risoluzione dei problemi
La colonna o il riquadro non compare per alcuni dipendenti
PrestaShop ignora gli hook di un modulo quando il profilo del dipendente connesso non ha il permesso Visualizza su quel modulo (Parametri avanzati > Team > Permessi, sezione Moduli). Concedi questo permesso ai profili interessati.
Il link mostra «Questo link non è valido.»
Il link è stato troncato dal programma di posta, oppure tutti i link sono stati invalidati dopo l’invio. Copia un nuovo link dal back office.
Il link mostra «Questo link è scaduto.»
La durata di validità è superata. Copia un nuovo link o aumenta la durata di validità per i prossimi.
Il link I miei carrelli salvati non compare nell’account
Verifica che l’opzione dell’account cliente sia attiva, poi svuota la cache del negozio. Alcuni temi non mostrano l’hook displayCustomerAccount; la pagina resta accessibile all’indirizzo index.php?fc=module&module=dfcartrestore&controller=carts.
Compatibilità
- PrestaShop da 8.0 a 9.x, lo stesso ZIP copre entrambe le versioni.
- Multinegozio, multilingua e multivaluta.
- Nessuna dipendenza Composer.
- Interfaccia disponibile in francese, inglese, spagnolo, tedesco, italiano, olandese, polacco e portoghese.