PrestaShop thema update, wijzigingen kwijt: zo haal je ze terug en bewaar je ze de volgende keer
Ben je na een PrestaShop-thema-update je wijzigingen kwijt, dan heeft de maker ze met nieuwe bestanden overschreven. Je haalt ze terug uit een kopie van de bestanden van voor de update: van je hostingpartij, van de ontwikkelaar of uit het pakket van het oude thema. Zet ze daarna in een child theme. Een update van het hoofdthema raakt dat niet aan.
Auteur: Het TellMyShop-team. Een gids voor eigenaren van PrestaShop-winkels: de oorzaak, de oplossing met de hand en hetzelfde werk in een gesprek met de chat.
Laatst bijgewerkt: · 6 min lezen
Hoe ziet het er na een update meestal uit?
Het begint met iets kleins dat iemand een paar dagen later opmerkt. Vrijdag, 22:05 uur, een klant schrijft dat ze de melding over gratis levering op de productpagina niet ziet. Een ontwikkelaar heeft die tekst een jaar geleden toegevoegd, rechtstreeks in een themabestand. Woensdag kreeg het thema een update van de maker, met bugfixes en een nieuw ontwerp van de winkelwagen.
De update deed wat hij moest doen. Hij verving de themabestanden door nieuwe versies. Daarmee kwamen de oude knopkleuren terug, en verdwenen de melding in de footer en de tekst over levering. Niemand hield een lijst van die wijzigingen bij, want “ze staan toch in de webshop”.
Waarom overschrijft een update wijzigingen in het thema?
Omdat de themabestanden van de maker zijn, en een update ze voor nieuwe verwisselt. Dat geldt voor gekochte thema’s en voor het thema Classic. De update-assistent van PrestaShop heeft een aparte optie om het standaardthema bij te werken, beschreven in de update-instructies. Staat die aan, dan gaat Classic terug naar de versie uit de nieuwe release.
Het antwoord van PrestaShop op dit probleem is het child theme. Dat is een apart thema dat alles van het hoofdthema erft en alleen de bestanden overschrijft die je erin wijzigt. Het mechanisme wordt uitgelegd in de documentatie over child themes, en Biegun.Studio heeft een handleiding met voorbeelden (in het Pools).
Waar haal je de versie van voor de update vandaan?
Controleer één voor één de plekken waar een kopie bewaard kan zijn gebleven.
| Bron | Wat erin staat | Waar je op let |
|---|---|---|
| De back-up van je hostingpartij | bestanden van de dag van de back-up | zet losse bestanden terug in een aparte map, niet de hele webshop |
| De ontwikkelaar die de wijzigingen maakte | zijn versies van de bestanden | misschien heeft hij een lijst met wijzigingen, vraag erom |
| Het pakket van de oude themaversie | de bestanden van de maker zonder jouw wijzigingen | hiermee vergelijk je en vind je de verschillen |
| Kopieën van bestanden uit TellMyShop | bestanden die de chat heeft gewijzigd | alleen wijzigingen die de chat heeft gemaakt |
| Een webarchief in de browser | het uiterlijk, niet de code | helpt teksten en indeling opnieuw te maken |
Zet niet de hele webshop terug uit een back-up om een paar regels in het thema terug te krijgen. Dan raak je de bestellingen en catalogwijzigingen van de afgelopen dagen kwijt. Zet de themabestanden terug in een aparte map en vergelijk ze met de huidige.
Hoe zet je wijzigingen over naar een child theme?
De volgorde is belangrijk, want je zet het child theme pas aan het eind aan.
- Zet de verdwenen wijzigingen op een lijst: het bestand, de plek en wat er stond.
- Maak een child theme van je huidige thema.
- Kopieer alleen de sjablonen die je wijzigt naar het child theme en maak daarin je aanpassingen.
- Zet je eigen stijlen in het bestand custom.css van het child theme.
- Wijzigingen aan het uiterlijk van modules maak je in kopieën van hun sjablonen binnen het child theme.
- Zet het child theme aan in Uiterlijk > Thema & logo.
- Leeg de cache en controleer de homepage, een productpagina, de winkelwagen en het afrekenen. Controleer ook de volgorde van de blokken in Uiterlijk > Posities.
- Bewaar de lijst met wijzigingen op één plek, samen met de bestandsnamen.
Wijzig je kleuren, lees dan hoe je de knopkleur wijzigt met custom.css. icomSEO schrijft ook breder over het bewerken van een sjabloon (in het Pools).
Wat verdwijnt er niet bij een thema-update?
Alles wat in de database staat in plaats van in themabestanden. Vertalingen van teksten, instellingen van modules, de volgorde van blokken op de homepage, de inhoud van informatiepagina’s en productbeschrijvingen blijven allemaal staan. Daarom kun je sommige wijzigingen beter daar maken dan in het sjabloon. Zo kun je de PrestaShop-regel in de footer vaak in de vertalingen wijzigen, zonder een bestand te bewerken.
Hoe voorkom je dat je bij de volgende update wijzigingen kwijtraakt?
Doe voor elke update van het thema of van PrestaShop een paar dingen.
- Download een kopie van de themamap naar je computer of vraag je hostingpartij erom.
- Controleer of de webshop op een child theme draait. Zo niet, maak er dan een voor de update, niet erna.
- Lees de lijst met wijzigingen van de maker van het thema. Heeft hij een bestand gewijzigd dat je in het child theme overschrijft, dan heeft je kopie misschien een aanpassing nodig.
- Werk eerst bij op een testkopie van de webshop, als je die hebt.
- Loop na de update je lijst met wijzigingen door en controleer elke wijziging op de site.
Hoe bewaar je je wijzigingen in een gesprek met de chat?
Je vraagt om een child theme voordat je iets aan het uiterlijk wijzigt. Je chat (Claude of ChatGPT) controleert het huidige thema en maakt een child theme aan. Zodra je dat aanzet, slaat de chat wijzigingen daar op, met een kopie van elk bestand.
Jij: Na de thema-update is de tekst over gratis levering van de productpagina verdwenen. Zet hem terug zodat hij bij de volgende update niet verdwijnt.
Je chat: Het actieve thema is Lumo 3.2, zonder child theme. Ik stel voor eerst een child theme lumo-child aan te maken. Ik zet het niet zelf aan, dat doe jij in Uiterlijk > Thema & logo.
Voor het opslaan zie je het verschil in het bestand, en het bestand krijgt een reservekopie.
Zodra je het aanzet, voeg ik de tekst daarin toe aan het sjabloon van de productpagina:
oude versie: (geen tekst onder de prijs)
nieuwe versie: Gratis levering bij bestellingen vanaf € 50
Voor wijzigingen in themabestanden heb je TellMyShop Pro en de schakelaar Thema nodig, die je in het modulepaneel aanzet. De schakelaar werkt 24 uur en vraagt een databaseback-up van dezelfde dag. Een gewijzigd bestand zet je terug vanuit de kopie. Het aanmaken van het child theme draai je niet terug vanuit de wijzigingsgeschiedenis. Een thema dat je niet meer nodig hebt, verwijder je in de backoffice. TellMyShop Free leest geen themabestanden, dat werkt alleen in Pro.
Hoe je zo’n taak formuleert, zie je in de use cases themawijzigingen veiligstellen voor een update en een themabestand terugzetten uit een kopie.
Vragen en antwoorden
Kan ik mijn wijzigingen terughalen na een thema-update?
Vaak wel, als er een kopie van de bestanden van voor de update bestaat. Zoek die in de back-ups van je hostingpartij, in de bestanden op de computer van wie de wijzigingen heeft gemaakt, of in het pakket van de oude themaversie. Is er geen kopie, dan moeten de wijzigingen opnieuw worden gemaakt aan de hand van schermafbeeldingen, een webarchief of het geheugen van de ontwikkelaar.
Waarom wist een thema-update mijn wijzigingen?
Omdat de update de themabestanden vervangt door nieuwe versies van de maker. Een bestand dat jij hebt gewijzigd, gaat samen met de bugfixes terug naar de versie van de maker. De update weet niet welke regels van jou waren. Daarom horen wijzigingen in een child theme, dat een update van het hoofdthema niet aanraakt.
Maakt een child theme de webshop trager?
Dat hoort niet. Een child theme is een kleine map met een configuratiebestand en alleen de bestanden die je wijzigt. De rest haalt PrestaShop uit het hoofdthema. Controleer na het aanzetten de homepage, een productpagina en de winkelwagen, want in de instellingen van de webshop is het formeel een ander thema.
Verdwijnen wijzigingen in modules ook na een update?
Ja, als ze in de bestanden van de module zijn gemaakt. Een module-update vervangt de bestanden net als een thema-update. Het uiterlijk van een module wijzig je veilig in een kopie van het sjabloon binnen het thema, het liefst het child theme. PrestaShop gebruikt dan de kopie, en de module-update laat die met rust.
Haalt de chat mijn oude bestanden terug?
Alleen de bestanden die hij zelf heeft gewijzigd. Voor elke opslag van een bestand maakt de chat een kopie. Kopieën blijven 90 dagen bewaard, en de vijf nieuwste van elk bestand blijven altijd bewaard. Wijzigingen die met de hand via FTP of door een ontwikkelaar zijn gemaakt, staan niet in die kopieën. Dan heb je een back-up van je hostingpartij nodig of van wie ze heeft gemaakt.
PrestaShop is een geregistreerd handelsmerk van PrestaShop SA. Claude is een handelsmerk van Anthropic PBC. ChatGPT en OpenAI zijn handelsmerken van OpenAI. TellMyShop is niet gelieerd aan deze bedrijven.