Prullenbak voor Producten: volledige gids
De productprullenbak installeren, configureren en benutten: automatische back-up vóór verwijdering, identiek herstel met de oorspronkelijke ID, kopie van de afbeeldingsbestanden, automatische bewaartermijn en goede praktijken voor PrestaShop 8 en 9.
Overzicht
De module Prullenbak voor Producten verandert elke productverwijdering in een omkeerbare back-up. Vlak voordat een product wordt gewist, handmatig, in bulk, via een import of via een script, maakt de module er een volledige momentopname van en plaatst die in een prullenbak. U kunt het product daarna met één klik identiek herstellen, met zijn oorspronkelijke ID, wat zijn URL’s en zijn SEO behoudt.
De momentopname dekt de databasegegevens (productpagina, vertalingen, combinaties, prijzen, voorraden, categorieën, kenmerken, enzovoort) en de afbeeldingsbestanden op de schijf. De module is compatibel met PrestaShop 8 en 9, in single- en multistore, en meertalig.
Installatie
- Open in de backoffice Modules > Modulebeheer.
- Klik op Een module installeren en upload het ZIP-archief van de module.
- Klik na afronding van de installatie op Configureren.
Bij de installatie maakt de module een eigen back-uptabel aan, een beschermde back-upmap voor de afbeeldingen en een nieuw tabblad Productprullenbak in het menu Catalogus. De bewaking van de verwijderingen is onmiddellijk actief, zonder voorafgaande configuratie.
De prullenbak openen
De prullenbak is op twee manieren bereikbaar: via het menu Catalogus > Productprullenbak, of via de knop Prullenbak openen op de configuratiepagina van de module. De lijst toont de opgeslagen en nog niet herstelde producten, met hun oorspronkelijke product-ID, hun naam, hun referentie, het aantal opgeslagen afbeeldingen, de auteur van de verwijdering en de datum.
Hoe de back-up werkt
De module haakt in op de hook actionObjectProductDeleteBefore, die PrestaShop activeert vlak voordat een product wordt gewist, op het moment dat al zijn gegevens nog in de database staan. Deze hook wordt zowel door de oude productpagina als door de nieuwe Symfony-pagina van PrestaShop 8 en 9 gebruikt, en ook door bulkverwijderingen: elk verwijderd product wordt dus afzonderlijk opgeslagen.
De vastgelegde momentopname omvat:
- de productpagina, zijn versies per winkel en zijn vertalingen voor alle talen;
- de combinaties, hun attributen en hun versies per winkel;
- de specifieke prijzen, de voorraden en de categoriekoppelingen;
- de kenmerken, de tags, de leveranciers en de vervoerders;
- de bijlagen, de gekoppelde producten, de packs en de downloadbare virtuele producten;
- de personalisatievelden en hun vertalingen;
- de afbeeldingsbestanden, in alle gegenereerde formaten, gekopieerd naar een beschermde back-upmap.
De vastlegging verloopt stil en blokkeert de verwijdering nooit. Mislukt een back-upstap om welke reden dan ook, dan zet PrestaShop de verwijdering gewoon voort: de module verstoort de werking van de winkel niet.
Een product herstellen
- Open Catalogus > Productprullenbak.
- Zoek het te herstellen product in de lijst (u kunt de kolommen filteren en sorteren).
- Klik op de groene knop Herstellen en bevestig.
De module injecteert dan alle gekoppelde tabellen opnieuw in één transactie, met behoud van de oorspronkelijke identifiers, kopieert de afbeeldingsbestanden terug naar hun exacte locatie en start de zoekindexering opnieuw. Het product verschijnt weer in uw catalogus zoals het vóór de verwijdering was, en zijn vermelding verdwijnt uit de prullenbak. De HTML van de beschrijvingen blijft tot op het teken behouden.
Anti-conflict. Het herstel controleert eerst of het product-ID vrij is. Draagt een ander product al deze identifier, dan wordt het herstel geannuleerd en meldt een bericht dit, zodat nooit een bestaande productpagina wordt overschreven. In de praktijk hergebruikt PrestaShop verwijderde identifiers niet, dus dit geval blijft zeldzaam.
Definitief verwijderen en de prullenbak legen
Om ruimte vrij te maken, kunt u een back-up per stuk definitief verwijderen met de rode knop in de kolom Acties. Deze actie verwijdert de momentopname en de bijbehorende afbeeldingsbestanden; ze is onomkeerbaar.
De knop Prullenbak legen, bovenaan de lijst, verwijdert alle niet-herstelde back-ups definitief in één operatie.
Configuratie
Afbeeldingsbestanden opslaan
Wanneer deze optie is ingeschakeld (standaard), kopieert de module bij de verwijdering de afbeeldingsbestanden in alle formaten en zet ze bij het herstel terug. Schakel haar uit als u alleen de gegevens wilt opslaan en schijfruimte wilt besparen; in dat geval blijven de afbeeldingsregels in de momentopname, maar worden de bestanden niet hersteld.
Bewaartermijn (dagen)
Stel het aantal dagen in waarna de back-ups automatisch worden opgeschoond. De waarde 0 bewaart de back-ups zonder tijdslimiet. De opschoning loopt mee met de volgende verwijderingen.
Multistore en meertaligheid
De momentopname legt alle talen en alle aan het product gekoppelde winkels vast, en het herstel zet ze volledig terug. De module werkt zowel op een enkele winkel als op een PrestaShop-multistore.
Goede praktijken en bijzondere gevallen
- Grote catalogi: elke verwijdering maakt een back-up aan. Stel een passende bewaartermijn in om onnodige opeenstapeling te vermijden als u vaak veel producten verwijdert (vervangingsimports bijvoorbeeld).
- Back-upmap: ze is beschermd door een
.htaccessen eenindex.phpen is dus niet publiek toegankelijk. Ze moet schrijfbaar blijven voor de server. - Imports: een import die producten verwijdert en opnieuw aanmaakt, vult de prullenbak met de verwijderde versies. Dat is bewust en nuttig bij een mislukte import; leeg de prullenbak zodra de import is gevalideerd.
De-installatie
De de-installatie van de module verwijdert de back-uptabel, het menutabblad en de volledige back-upmap (momentopnamen en afbeeldingsbestanden). Al herstelde producten die in de catalogus staan, worden niet geraakt.
FAQ
Werkt de prullenbak met bulkverwijdering en de nieuwe productpagina?
Ja. De vastlegging steunt op een hook die door de oude productpagina, de nieuwe Symfony-pagina van PrestaShop 8 en 9 en de bulkverwijderingen wordt gebruikt. Elk verwijderd product wordt afzonderlijk opgeslagen.
Behoudt het herstel hetzelfde product-ID?
Ja. Het product wordt hersteld met zijn oorspronkelijke identifier, wat zijn URL’s, zijn redirects en zijn SEO behoudt. Is de identifier al bezet, dan wordt het herstel geblokkeerd.
Worden de afbeeldingen hersteld, bestanden inbegrepen?
Ja, wanneer de optie voor het opslaan van afbeeldingen is ingeschakeld. De bestanden in alle formaten worden bij de verwijdering gekopieerd en bij het herstel teruggezet, waarna de zoekfunctie opnieuw wordt geïndexeerd.
Is de module compatibel met PrestaShop 9?
Ja, de module is compatibel met PrestaShop 8.x en 9.x, in single- en multistore.