# DataFirefly Cart History & Restore Links: winkelwagengeschiedenis en herstellinks

> Installatie Installeer de module via Modules > Modulebeheer > Een module uploaden door het ZIP-bestand te versturen, of kopieer de map dfcartrestore naar de map /modules/ van je winkel en…

- Pagina: <https://www.datafirefly.com/nl/documentation/dfcartrestore/>
- Taal: nl
- Bijgewerkt op: 2026-09-28
- Andere talen: [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), [it](https://www.datafirefly.com/it/documentation/dfcartrestore/index.md), [pl](https://www.datafirefly.com/pl/documentation/dfcartrestore/index.md), [pt](https://www.datafirefly.com/pt/documentation/dfcartrestore/index.md)
- Index: <https://www.datafirefly.com/nl/documentation/llms.txt>

## Installatie

Installeer de module via **Modules > Modulebeheer > Een module uploaden** door het ZIP-bestand te versturen, of kopieer de map `dfcartrestore` naar de map `/modules/` van je winkel en klik op Installeren.

De installatie maakt een logtabel aan (`dfcartrestore_log`), genereert de geheime sleutel waarmee de links worden ondertekend en voegt de pagina **Mijn opgeslagen winkelwagens** toe aan het klantaccount. Er wordt geen enkele standaardtabel gewijzigd: herstelde winkelwagens zijn gewone PrestaShop-winkelwagens.

## Werking

Een herstellink draagt nooit een winkelwagen over. Wanneer iemand hem opent, leest de module de regels van de bronwinkelwagen en voegt ze een voor een toe aan de eigen winkelwagen van die persoon, alsof die bij elk artikel op “In winkelwagen” klikt.

- De bronwinkelwagen wordt nooit gewijzigd, ook niet als hij van een andere klant is of bij een bestelling hoort.
- Niemand wordt ingelogd op het account van de eigenaar van de winkelwagen, anders dan bij de standaard herstellink van PrestaShop.
- Prijzen, acties, voorraad, minimale aantallen en bestelbaarheid zijn die van het moment van herstellen.
- Dezelfde link kan meerdere keren en door meerdere personen worden gebruikt.

## Herstellinks in de back-office

### Winkelwagenlijst

In **Klanten > Winkelwagens** toont de kolom **Herstellink** een knop **Link kopiëren** bij elke winkelwagen met producten. De link wordt naar het klembord gekopieerd zonder de winkelwagen te openen. In de CSV-export van de lijst bevat deze kolom de volledige URL.

### Detailpagina van de winkelwagen

Boven aan de winkelwagenpagina toont een blok de volledige link met de knoppen **Link kopiëren** en **Openen**, en hoe vaak de link al is gebruikt. Als er een geldigheidsduur is ingesteld, wordt de vervaldatum getoond.

### Klantpagina

Het blok **Winkelwagens en herstellinks** toont de laatste 10 niet-lege winkelwagens van de klant, met datum, aantal artikelen, totaal producten, bestelstatus en kopieerknop.

De link wordt aangemaakt in de taal en voor de winkel van de winkelwagen: een Italiaanse klant krijgt een link naar de Italiaanse versie van de winkel.

## Wat de persoon ziet die de link opent

Met de voorbeeldpagina ingeschakeld (standaardinstelling) opent de link een pagina met de artikelen uit de winkelwagen, hun miniaturen en aantallen. De bezoeker klikt op **Deze artikelen aan mijn winkelwagen toevoegen** om het herstel te starten en wordt daarna doorgestuurd naar de winkelwagen of de kassa, afhankelijk van je instelling.

Een melding vat het resultaat samen: toegevoegde producten, toegepaste kortingscodes, aan de voorraad aangepaste aantallen en artikelen die niet konden worden toegevoegd.

Voor een offerte die telefonisch is voorbereid, maak je de winkelwagen aan via **Bestellingen > Nieuwe bestelling toevoegen**, kopieer je de link uit de winkelwagenlijst en stuur je die naar de klant.

## Pagina Mijn opgeslagen winkelwagens

De link **Mijn opgeslagen winkelwagens** verschijnt in het klantaccount en in het blok Mijn account in de footer. De pagina toont de winkelwagens van de klant met producten, de nieuwste eerst, elk met:

- de datum van de laatste wijziging, het aantal artikelen en het totaal producten;
- de status **Besteld** met de referentie en een link naar de bestelling, of **Niet besteld**;
- miniaturen van de producten en uitklapbare details waarin niet meer beschikbare artikelen zijn gemarkeerd;
- de knop **Deze winkelwagen herstellen** en, als de optie actief is, de knop **Deellink kopiëren**.

De huidige winkelwagen van de klant staat niet in de lijst. In vervangmodus meldt een bevestiging dat de huidige winkelwagen wordt vervangen en dat de klant hem op deze pagina terugvindt.

## Instellingen

### Klantaccount

- **Winkelwagengeschiedenis tonen in het klantaccount**: schakelt de pagina Mijn opgeslagen winkelwagens en de links ernaartoe in.
- **Gedrag bij herstellen**: _Huidige winkelwagen vervangen_ maakt een nieuwe winkelwagen aan en laat de vorige in de geschiedenis; _Toevoegen aan de huidige winkelwagen_ voegt de artikelen samen met de artikelen die er al in zitten. Een gast voegt altijd samen, omdat hij een vervangen winkelwagen niet terug zou kunnen halen.
- **Winkelwagens tonen die al een bestelling zijn geworden**: laat klanten dezelfde artikelen met één klik opnieuw bestellen.
- **Winkelwagens per pagina**: van 1 tot 50, standaard 10.
- **Geschiedenisperiode (dagen)**: alleen winkelwagens die in deze periode zijn bijgewerkt worden getoond, standaard 365, 0 voor geen limiet.
- **Klanten een deellink laten kopiëren**: handig in B2B, als een inkoper de winkelwagen voorbereidt en een collega bestelt.
- **Na het herstellen de klant doorsturen naar**: winkelwagenpagina of kassa. Zijn er artikelen aangepast of overgeslagen, dan gaat de klant altijd via de winkelwagenpagina om ze te zien.

### Herstellinks

- **Geldigheid van links (dagen)**: geldt voor links die vanaf nu worden aangemaakt, 0 voor links zonder vervaldatum.
- **Een voorbeeldpagina tonen vóór het herstellen**: aanbevolen, zie de sectie Beveiliging.
- **Kortingscodes overnemen**: _Nooit_, _Alleen als de klant herstelt vanuit het account_ (standaard) of _Altijd_. Een kortingscode wordt alleen toegepast als hij nog geldig is voor de nieuwe winkelwagen en de eigenaar ervan. Automatische regels zonder code past PrestaShop zelf opnieuw toe.

## Beveiliging van links

Elke link bevat het winkelwagen-ID en een HMAC-SHA256-handtekening, berekend met de geheime sleutel van de module. Een met de hand gewijzigd ID maakt de link ongeldig.

De knop **Alle bestaande links ongeldig maken** genereert een nieuwe geheime sleutel: alle tot dan toe gedeelde links werken niet meer, de nieuwe links in de back-office werken normaal.

Mailgateways (Outlook Safe Links, Proofpoint, Mimecast) en linkvoorbeelden in Slack, Teams of WhatsApp openen links automatisch. Als je de voorbeeldpagina uitschakelt, zou elk automatisch bezoek vanuit een gewone browser een winkelwagen aanmaken. Herkende bots krijgen altijd de voorbeeldpagina te zien, ook als die is uitgeschakeld.

## Regels bij het herstellen

- Product uitgeschakeld, niet bestelbaar of niet in de winkel: overgeslagen.
- Verwijderde combinatie: overgeslagen.
- Aantal onder het minimale aantal: verhoogd tot het minimale aantal.
- Onvoldoende voorraad en bestellen zonder voorraad niet toegestaan: aantal verlaagd tot de beschikbare voorraad als het minimum nog gehaald wordt, anders wordt het artikel overgeslagen.
- Gepersonaliseerd product: teksten gekopieerd, geüploade bestanden op de server gedupliceerd, zodat het verwijderen van de gekopieerde regel nooit het bestand van een bestelling wist.
- Geen enkel artikel toegevoegd: de daarvoor aangemaakte winkelwagen wordt verwijderd en de huidige winkelwagen van de bezoeker wordt teruggezet.

## Logboek van herstelacties

De configuratiepagina toont de laatste 30 herstelacties van de winkel: datum, herkomst (link of klantaccount), bronwinkelwagen, nieuwe winkelwagen, klant of gast, aantal toegevoegde en overgeslagen artikelen. De winkelwagennummers openen de bijbehorende pagina in de back-office.

## Voor ontwikkelaars

- `actionDfcartrestoreAfterRestore`: uitgevoerd na elk geslaagd herstel, met `id_cart_source`, `id_cart` en `origin` (`link` of `account`).
- `actionDfcartrestoreCustomizationCopy`: uitgevoerd na het kopiëren van een personalisatie, met `id_customization_source`, `id_customization`, `id_cart_source` en `id_cart`. Een module die eigen gegevens per personalisatie opslaat (configurator, gravure) gebruikt deze hook om ze te dupliceren.

## Probleemoplossing

### De kolom of het blok verschijnt niet bij sommige medewerkers

PrestaShop slaat de hooks van een module over als het profiel van de ingelogde medewerker niet het recht **Bekijken** heeft op die module (**Geavanceerde instellingen > Team > Rechten**, sectie Modules). Geef dit recht aan de betreffende profielen.

### De link toont “Deze link is ongeldig.”

Het e-mailprogramma heeft de link afgekapt, of alle links zijn na het versturen ongeldig gemaakt. Kopieer een nieuwe link uit de back-office.

### De link toont “Deze link is verlopen.”

De geldigheidsduur is voorbij. Kopieer een nieuwe link of verleng de geldigheid voor volgende links.

### De link Mijn opgeslagen winkelwagens verschijnt niet in het account

Controleer of de optie voor het klantaccount actief is en leeg daarna de cache van de winkel. Sommige thema's tonen de hook `displayCustomerAccount` niet; de pagina blijft bereikbaar via `index.php?fc=module&module=dfcartrestore&controller=carts`.

## Compatibiliteit

- PrestaShop 8.0 tot 9.x, hetzelfde ZIP-bestand dekt beide versies.
- Multistore, meertalig en meerdere valuta.
- Geen Composer-afhankelijkheid.
- Interface beschikbaar in het Frans, Engels, Spaans, Duits, Italiaans, Nederlands, Pools en Portugees.
