Alle projecten

Professioneel project / 2025

Plagron.

Een meertalige Laravel-website op basis van Statamic CMS, dynamische content en verschillende externe integraties.

Project
Professioneel project
Status
Afgerond
Uitgevoerd vanuit
Bertels Holland B.V.

Gebruikte technologieën

  • Laravel
  • PHP
  • Statamic
  • Blade
  • JavaScript
  • jQuery
  • Sass
Aangepaste visualisatie van de Plagron-website.
AI-gegenereerde visualisatie op basis van de oorspronkelijke Plagron-website. De afbeelding is aangepast om het project te illustreren zonder de originele website rechtstreeks over te nemen. Details kunnen afwijken van de daadwerkelijke implementatie.

Het project

Samen met vijf andere supertoffe ontwikkelaars heb ik tijdens mijn werk bij Bertels Holland B.V. gewerkt aan verschillende websites, de interessantste was Plagron.

De website is gebouwd met Laravel in combinatie met Statamic CMS. Wat dit project interessant maakt, is de flexibiliteit van het contentmanagementsysteem en de verschillende technische integraties achter de schermen.

De website moest niet alleen prettig werken voor bezoekers, maar ook eenvoudig te beheren zijn door de contentmanagers, ook zonder dat daar een ontwikkelaar voor nodig is.

Mijn bijdrage

Mijn werkzaamheden richtten zich voornamelijk op de backend en de technische integraties, waarbij ik verschillende functionaliteiten heb ontwikkeld die het beheer van de website eenvoudiger maken.

Dynamische sliders

Contentmanagers moesten zelfstandig sliders kunnen toevoegen en beheren, zonder daarvoor een ontwikkelaar nodig te hebben.

Hiervoor heb ik een nieuwe backendintegratie geïmplementeerd, zodat sliders dynamisch vanuit het CMS kunnen worden samengesteld. Hiermee kregen de contentmanagers meer vrijheid bij het opbouwen van pagina’s.

Downloads en e-mailafhandeling

Bezoekers dienden de mogelijkheid te krijgen verschillende soorten bestanden te kunnen downloaden. Afhankelijk van het type bestand kon een download direct beschikbaar zijn of pas nadat een bezoeker zijn e-mailadres had achtergelaten.

Ik heb gewerkt aan de downloadintegratie en de bijbehorende e-mailafhandeling. Daarbij moest de e-mail met de downloadlink dynamisch samengesteld worden op basis van het betreffende bestandstype, moesten de bezoekers als contact naar Mailchimp worden geschoten en moest dit natuurlijk volledig beheerbaar zijn door de contentmanagers.

Productreviews

Een andere functionaliteit waaraan ik heb gewerkt, was het reviewformulier. Bezoekers moesten hier een product kunnen selecteren zonder dat de pagina opnieuw geladen hoefde te worden.

De beschikbare producten worden hiervoor dynamisch opgehaald uit Statamic. Wanneer een bezoeker vanuit een specifieke productpagina naar het reviewformulier navigeert, wordt het betreffende product automatisch voorgeselecteerd.

Naast deze interactie heb ik gewerkt aan de implementatie van de reviews en de bijbehorende e-mailafhandeling.

Mailchimp-integratie

Verschillende formulieren en integraties, zoals de downloads, op de website moesten contactgegevens kunnen doorsturen naar Mailchimp.

In plaats van voor ieder formulier een afzonderlijke integratie te ontwikkelen, heb ik gewerkt aan een herbruikbare oplossing. Hiermee konden meerdere formulieren en integraties gebruikmaken van dezelfde Mailchimp-integratie, zonder telkens dezelfde functionaliteit opnieuw te hoeven implementeren.

Meer dan alleen een website

Wat ik interessant vind aan dit project, is dat een groot deel van de technische complexiteit voor bezoekers nauwelijks zichtbaar is. Achter een ogenschijnlijk eenvoudige website zitten verschillende systemen, dynamische content en integraties die goed met elkaar moeten samenwerken.

Juist die combinatie van backendontwikkeling, integraties en gebruiksvriendelijk contentbeheer maakt dit voor mij een interessant project.

De keuzes achter de code.

De website is in teamverband ontwikkeld. Deze combinatie van technieken vormde de basis van het project; mijn bijdrage lag vooral bij de backend, het contentbeheer en de integraties.

Laravel & PHP

Laravel vormt de basis voor de applicatielogica en de verschillende integraties. Binnen deze bestaande architectuur ontwikkelde ik backendfunctionaliteit die op meerdere plekken kon worden hergebruikt.

Statamic CMS

Als vervanger van een custom CMS viel de keuze al vrij snel op Statamic als Laravel-gebaseerd CMS. Met flexibele contentvelden kunnen contentmanagers zelf pagina's en onderdelen zoals sliders samenstellen. Statamic beheert content voornamelijk via bestanden; in combinatie met caching ondersteunt dat de technische opzet van de website.

Blade, Sass & JavaScript

Blade verbindt de templates met de Laravel-applicatie. Sass en JavaScript, waaronder jQuery, verzorgen de presentatie en interactie, zoals het dynamisch selecteren van producten in formulieren.

Herbruikbare integraties

Bij onder andere Mailchimp en de downloadfunctionaliteit werkte ik aan oplossingen die meerdere formulieren of bestandstypen konden ondersteunen. Zo hoefde dezelfde logica niet telkens opnieuw te worden gebouwd.