# DataFirefly Cart History & Restore Links: cronologia dei carrelli e link di ripristino

> 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…

- Pagina: <https://www.datafirefly.com/it/documentation/dfcartrestore/>
- Lingua: it
- Aggiornato il: 2026-09-28
- Altre lingue: [fr](https://www.datafirefly.com/documentation/dfcartrestore/index.md), [en](https://www.datafirefly.com/en/documentation/dfcartrestore/index.md), [es](https://www.datafirefly.com/es/documentation/dfcartrestore/index.md), [de](https://www.datafirefly.com/de/documentation/dfcartrestore/index.md), [pl](https://www.datafirefly.com/pl/documentation/dfcartrestore/index.md), [nl](https://www.datafirefly.com/nl/documentation/dfcartrestore/index.md), [pt](https://www.datafirefly.com/pt/documentation/dfcartrestore/index.md)
- Indice: <https://www.datafirefly.com/it/documentation/llms.txt>

## 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, con `id_cart_source`, `id_cart` e `origin` (`link` o `account`).
- `actionDfcartrestoreCustomizationCopy`: eseguito dopo la copia di una personalizzazione, con `id_customization_source`, `id_customization`, `id_cart_source` e `id_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.
