Template parser

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Full stack ontwikkelaar Laravel, Vue.js

Functie Als ontwikkelaar binnen deze organisatie hou jij je voornamelijk met lopende projecten voor de verschillende klanten. Zo bouw je de ene dag aan prijsschifting systemen en de andere dag onderzoek je crawlers en stel je ze zo in dat de data goed binnen komt binnen het systeem. Daarnaast bouw je mee aan dashboards en ben je dus constant bezig met het verbeteren van het platform. Er is een vaste werkwijze, zo werken ze met Trello kaarten en onderverdelen ze deze aan het begin van iedere week onder de developers. Dit wordt door de lead developer gedaan, maar in samenspraak

Bekijk vacature »

Software Ontwikkelaar C# .NET

Functie omschrijving Startende Software Ontwikkelaar gezocht met kennis van C# .NET! Ben jij net klaar met je opleiding en ben je op zoek naar je eerste echte werkervaring? Of heb jij al enige werkervaring maar ben toe aan iets nieuws? Dan is dit de perfecte kans voor jou! Wij zoeken namelijk een Junior Software Ontwikkelaar die klaar is voor een nieuwe uitdaging bij een leuke werkgeven in de regio Zeist. In deze functie werk jij vaak aan verschillende projecten en ga je bij klanten op bezoek. Ben jij op zoek naar een functie met uitdaging, diversiteit en verantwoordelijkheid? Dan is

Bekijk vacature »

PHP developer - Digital Agency

Functie Het team telt momenteel 20 collega’s, bestaande uit developers (front- en backend) en het operations team, waaronder ook het management en twee scrum masters vallen. Ze zijn op zoek naar een PHP developer die in staat is zelfstandig te werken. Je komt te werken in één van de drie scrumteams en gaat aan de slag met een project voor de klant. Het fijne hieraan is dat je wel afwisseling hebt qua werk, maar tegelijkertijd doorlopend werkt voor bestaande klanten. Hierdoor krijg je ook de kans om echt de diepte in te gaan en innovatieve technische oplossingen neer te zetten.

Bekijk vacature »

Database Developer

Functie omschrijving Voor een logistieke dienstverlener in omgeving Zuid Beijerland zijn wij op zoek naar versterking. Weet jij als geen ander systemen aan elkaar te koppelen en heb jij goede kennis van SQL en UML, lees dan snel verder! Jouw taken zien er als volgt uit: Je bent in deze rol voornamelijk verantwoordelijk voor het bouwen, implementeren en beheren van koppelingen tussen de bestaande systemen (zowel business 2 business als application 2 application). Daarnaast inventariseer je de wensen van in- en externe klanten, die je vervolgens samen met je collega's, vertaalt naar technische specificaties, die jullie zelf ontwikkelen en implementeren.

Bekijk vacature »

PHP Developer

Functie omschrijving Als PHP Developer ga jij aan de slag met uitdagende software projecten. Jij gaat in deze functie software applicaties ontwikkelen. Deze software projecten zijn heel divers, en deze organisatie maakt software, van A tot Z. Klanten kunnen in elke sector werkzaam zijn, van profit tot non-profit. Deze software bouw je vooral in PHP en specifiek Laravel. Dit framework kent dus geen geheimen voor jou. De software die jij gaat ontwikkelen is heel divers, van urenregistratiesystemen tot compleet geautomatiseerde tools. In deze veelzijdige functie ga jij je zeker niet vervelen, elke dag bestaat weer uit nieuwe uitdagingen. Bedrijfsprofiel Deze

Bekijk vacature »

Medior .NET Ontwikkelaar

In het kort Als .NET ontwikkelaar ga je binnen onze business unit Transport en Logistiek aan de slag complexe maatwerk software voor bedrijf kritische systemen binnen de technische automatisering. Denk bijvoorbeeld een IoT-oplossing voor de logistieke sector waarbij we van ruim 200.000 machines de telemetrie en events verwerken. We zijn actief in de distributielogistiek, havenlogistiek en productielogistiek. Naast C# en .NET Core maken we ook gebruik van Azure technologie. En als trotse Microsoft Gold Partner leren we graag van en met jou. Wil jij jezelf blijven ontwikkelen binnen de technische automatisering met .NET, dan gaan we deze uitdaging graag met

Bekijk vacature »

Java Developer

Functie Wat ga je doen als Java developer? Jij komt terecht binnen een informeel team waarin je verantwoordelijk bent voor de backend systemen voor grote klanten als Ziggo en KPN. Als Medior Java developer werk je in teamverband en soms individueel. Gedurende de werkweek zal je veelvuldig sparren met je collega’s voor een goede implementatie van de software. Ben jij een echte Java developer? Ben je geïnteresseerd in de nieuwste technieken en de laatste ontwikkelingen? Dan ben je hier aan het juiste adres! Eisen Wat wordt er van jou verwacht? • Minimaal HBO/WO denk- en werkniveau; • Analytisch sterk, open

Bekijk vacature »

Ervaren C#.NET programmeur

Functieomschrijving Voor een moderne werkgever in regio Prinsenbeek zijn wij op zoek naar een ervaren C#.NET programmeur die graag de uitdaging aangaat. Je houdt je bezig met het ontwikkelen van maatwerk webapplicaties voor diverse klanten, waarbij complexe processen optimaal worden ondersteund. Verder ziet jouw takenpakket er als volgt uit: Ontwikkelen en onderhouden van C#.NET-applicaties; Schrijven van hoogwaardige, herbruikbare codes; Schrijven van technische documentatie en gebruikershandleidingen; Bijdragen aan het ontwerp en de architectuur van softwaretoepassingen; Troubleshooten en oplossen van bugs in softwaretoepassingen; Werken met databases en dataopslagoplossingen; Implementeren van beveiligingsoplossingen en het waarborgen van de beveiliging van applicaties en gegevens. Bedrijfsprofiel

Bekijk vacature »

Full stack developer

Functie Binnen een ontzettend stimulerende werkomgeving kom jij te werken in een software team van 14 developers. Met ontzettend stimulerend bedoel ik een modern pand, wat voorzien is van alle nodige soft- en hardware, zodat jij jouw werk goed kan uitvoeren. Daarnaast zitten ze in een bos, waardoor je in een groene omgeving rustig kunt werken. Het team bestaat uit front end, back end en full stack developers. Jij krijgt dus de keuze hier waar jij jezelf het liefst op zou richten, maar de voorkeur gaat uit naar back end. Er wordt hier Scrum (agile) gewerkt in multidisciplinaire teams met

Bekijk vacature »

HBO startersfunctie .NET Ontwikkelaar

Functie omschrijving We are looking for a dutch native speaker Ben je in januari 2023 klaar met je HBO opleiding en zoek je een mooie uitdaging? Wacht niet langer en solliciteer direct! Voor een familiebedrijf in de regio van Boxtel ben ik op zoek naar een C#.NET Ontwikkelaar. Jij gaat aan de slag met de (door)ontwikkeling van de maatwerksoftware projecten en gaat ook nieuwe software bouwen, middels de Microsoft-stack. Het bedrijf maakt gebruik van de volgende technieken: C# & ASP.NET; MVC; MS SQL; Entity Framework; Je krijgt hier veel tijd om te leren en eventueel door te groeien en het

Bekijk vacature »

Junior PHP ontwikkelaar

Functie Wij hebben onlangs onze eerste collega’s aangenomen, waardoor ons development team momenteel uit 4 personen bestaat. We bouwen onze software op basis van een PHP-framework (wat op zichzelf een Symfony framework is). Qua ontwikkeling focussen wij ons op 3 focus velden; – API-ontwikkeling/ Component Creatie – Implementatie – Framework ontwikkeling; het toevoegen van nieuwe functionaliteit of interne microservices Onze senior software engineer focust zich momenteel op de laatste twee punten, maar wij komen handen te kort op het eerste veld. Daarom zijn wij op zoek naar een enthousiaste junior software engineer die graag de kneepjes van het vak wil

Bekijk vacature »

Leidinggevend Full Stack Developer

Hé jij, nieuwe Pinkcuber! Ga aan de slag bij Pinkcube, online leverancier van promotieartikelen! Een innovatieve organisatie waar extra stappen zetten voor klanten de normaalste zaak van de wereld is. Ambitieus zijn we ook. ‘Naoberschap’ staat bij Pinkcube hoog in het vaandel; we helpen elkaar en iedereen is welkom. Pinkcube is Great Place to Work Certified, erkend leerbedrijf, maatschappelijk betrokken partner van stichting Present en partner van CliniClowns. En misschien wel jouw nieuwe werkgever. Wij zoeken namelijk een enthousiaste: Leidinggevend Full Stack Developer (40 uur, medior/senior) Ben jij klaar om baanbrekende ideeën tot leven te brengen en deel uit te

Bekijk vacature »

(Junior) Back-end Ontwikkelaar

Functie omschrijving We are looking for a dutch native speaker Altijd al willen werken bij een organisatie, die maatwerk applicaties bouwt, die echt impact hebben in de maatschappij? Dit is je kans. Voor een kleine organisatie in de regio van Eindhoven ben ik op zoek naar een C# Ontwikkelaar. Jij gaat aan de slag met de ontwikkeling van maatwerk software en applicaties. Deze organisatie werkt voor grote organisaties in Nederland, maar ook voor het MKB. De projecten waar je aan gaat werken zijn erg divers, waardoor je werk uitdagend blijft en je erg veel kan leren. Verder ga je aan

Bekijk vacature »

Web Developer

Bedrijfsomschrijving ENGIE Nederland is onderdeel van de beursgenoteerde ENGIE Groep. ENGIE is actief in 70 landen, met wereldwijd 150.000 medewerkers. Als groep is het de missie om bij te dragen aan de verduurzaming van de wereld. ENGIE Energie biedt energiediensten aan particulieren en grootzakelijk en gaat de uitdagingen van de energietransitie aan door het beschikbaar maken van duurzame energie, het streven de klimaatverandering tot een minimum te beperken, leveringszekerheid te bieden en zorg te dragen voor een verantwoord gebruik van de beschikbare resources. ENGIE Energie investeert daarom in hernieuwbare energiebronnen zoals zon, wind en bio-gas. Functieomschrijving Heb jij veel ervaring

Bekijk vacature »

Front-end Developer

Dit ga je doen Je komt in een DevOps-cultuur te werken waarbij je met je team werkt aan de front-end van diverse brand websites; Het ontwerpen van functionele en grafische ontwerpen die worden geïmplementeerd; Draagt zorg voor het maken van analyses; Je werkt nauw met je collega’s samen en geeft elkaar feedback en suggesties waar nodig; Het uitwerken van vraagstukken die afkomstig zijn van verschillende klanten; Hier ga je werken Deze marktleider op gebied van fietsen en fietservaring is gevestigd in twee provincies, verspreid over meerdere locaties. Jij zult voornamelijk in regio Joure aan de slag gaan. De organisatie doelt

Bekijk vacature »
Roy B

Roy B

20/10/2012 14:51:58
Quote Anchor link
Ik ben bezig met het bouwen van een eigen templateparser. Ik heb een begin gemaakt (nog zonder foutafhandeling en dergelijke), maar vraag me nu het volgende af..

Stel ik haal alle nieuwsitems op uit een database en wil deze weergeven in een template. Normaal ken ik een waarde toe aan ik een variabele door gebruik te maken van de functie assign. In dit geval zijn het meerdere waardes(een array). Hoe kan ik deze toekennen/weergeven?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
// voorbeeld.php
<?php
include "classes/templateparser.class.php";

$template = new Templateparser("home.html");
$template->assign("title", "Roy van Breugel");
$template->assign("newsitems", $newsitems);

echo $template->display();
?>

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
// templateparser.class.php
<?php
class Templateparser
{
    private $_template;
    private $_template_dir = "/templates/";
    private $_content;
    
    public function __construct($template)
    {

        $this->_template = $template;
        if(file_exists($this->_template_dir.$template))
        {

            $this->_content = file_get_contents($this->_template_dir.$template);
        }
    }

    
    public function assign($pattern, $recplacement)
    {

        $this->_content = preg_replace("#\{".$pattern    ."\}#si", $replacement, $this->_content);
    }

    
    public function display()
    {

        return $this->_content;
    }
}

?>
Gewijzigd op 20/10/2012 14:52:27 door Roy B
 
PHP hulp

PHP hulp

22/12/2024 03:22:50
 
Frank Nietbelangrijk

Frank Nietbelangrijk

20/10/2012 15:24:10
Quote Anchor link
vergeet het woord assign.

je kunt een complete array in je class opslaan of een object (lees andere class)

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
include "classes/templateparser.class.php";

$template = new Templateparser("home.html");
$template->assign(array('title' => 'Roy van Breugel',
                        'newsitems' => $newsitems));

echo $template->display();
?>


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?php
class Templateparser
{
    private $_template;
    private $_template_dir = "/templates/";
    private $_content;
    
    public function __construct($template)
    {

        $this->_template = $template;
        if(file_exists($this->_template_dir.$template))
        {

            $this->_content = file_get_contents($this->_template_dir.$template);
        }
    }

    
    public function assign($arr)
    {

        $this->_content = $arr;
    }

    
    public function display()
    {

        return $this->_content; // dit dan wel even in de view/template splitten
// bijv. als echo $content['title'];

    }
}

?>
Gewijzigd op 20/10/2012 15:27:02 door Frank Nietbelangrijk
 
Roy B

Roy B

23/10/2012 12:14:45
Quote Anchor link
Dat zou inderdaad kunnen. Maar stel ik wil de laatste 5 nieuwsitems weergeven. Hoe kan ik dan bijvoorbeeld de titel van de nieuwsitems weergeven?
 
Frank Nietbelangrijk

Frank Nietbelangrijk

23/10/2012 13:09:52
Quote Anchor link
een extra variabele aan de class toevoegen en een getfunctie/setfunctie

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<?php
class Templateparser
{
    private $_template;
    private $_template_dir = "/templates/";
    private $_content;
    private $title;
    
    public function __construct($template)
    {

        $this->_template = $template;
        if(file_exists($this->_template_dir.$template))
        {

            $this->_content = file_get_contents($this->_template_dir.$template);
        }
    }

    
    public function getTitle)
    {

        return $this->title;
    }

    
    public function setTitle($title)
    {

        $this->title = $title;
    }

    
    public function display()
    {

        return $this->_content; // dit dan wel even in de view/template splitten
// bijv. als echo $content['title'];

    }
}

?>
Gewijzigd op 23/10/2012 13:10:42 door Frank Nietbelangrijk
 
Ozzie PHP

Ozzie PHP

23/10/2012 14:27:54
Quote Anchor link
@Roy: even uit nieuwsgierigheid... hoe ziet zo'n template eigenlijk eruit?
 
Roy B

Roy B

23/10/2012 14:47:15
Quote Anchor link
@Ozzie,
Hieronder een voorbeeldje.. In dit geval is {content} een stukje tekst, maar stel dat het nu om een nieuwspagina gaat, dan wil ik i.p.v. {content} de laatste 5 nieuwsberichten weergeven.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<!DOCTYPE html>
<html>
<head>
<title>{title}</title>
<link href="images/wec5.ico" rel="shortcut icon" type="image/x-icon"/>
<link href="styles/default.css" rel="stylesheet" type="text/css"/>
</head>

<body>
<div id="container">
  <div id="header">
    {title}
  </div>
  <ul id="menu">
    <li><a class="menuitem active" href="home.html">Home</a></li>
    <li><a class="menuitem" href="nieuws.html">Nieuws</a></li>
    <li><a class="menuitem" href="portfolio.html">Portfolio</a></li>
    <li><a class="menuitem" href="contact.html">Contact</a></li>
  </ul>
  <div id="content">
    {content}
  </div>
  <div id="footer">
  
  </div>    
</div>
</body>
</html>
Gewijzigd op 23/10/2012 14:49:08 door Roy B
 
Rick van Riel

Rick van Riel

23/10/2012 14:57:13
Quote Anchor link
Dan zorg je er toch gewoon voor dat de data die je weg wil schrijven in {content} als vooraf is gegenereerd. Op deze manier maakt het dan niks uit wat voor data je erin zet.

Op dit moment kun je met deze code dus alleen teksten kwijt. Als je de content voordat je het in de variabele $this->_content opslaat door een controller haalt die alles in een view opslaat kan je de view in de variabele $this->_content opslaan. Zo geef je jezelf meer vrijheid met de data die je wegschrijft naar de template.
 
Kris Peeters

Kris Peeters

23/10/2012 15:30:21
Quote Anchor link
Ja, precies.

Je slaat alle content op in een variabele.
Op het allerlaatste moment haal je alles door je parser.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
... // SELECT ... FROM nieuwsitems ...
$content = "";
while ($row = mysql_fetch_assoc($res)) {
  $content .= '<div class="nieuwsitem"><h2>' . $row['titel'] ...
}
...

$template->assign("content", $content);
echo $template->display();
?>


Je kan natuurlijk je class uitbreiden, waardoor dit alles binnen de class wordt verwerkt.
bv. een methode append($pattern, $item)
 
Ozzie PHP

Ozzie PHP

23/10/2012 16:29:55
Quote Anchor link
Is dit eigenlijk gebruikelijk om op deze manier met templates te werken? Wat is het verschil met het gebruiken van variabelen, bijv.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
  <div id="content">
    <?php echo $content; ?>
  </div>


in plaats van

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
  <div id="content">
    {content}
  </div>


In het 1e geval hoef je alleen de template te includen, en je hoeft niet eerst het bestand in te lezen en dingen te vervangen. Het lijkt mij dat dat beter is voor de performance?
 
Kris Peeters

Kris Peeters

23/10/2012 16:44:34
Quote Anchor link
Beide komen voor, ja.
Er zijn verschillende systemen die je als gebruikelijk kan beschouwen.

Tja ... 't is aan de template parser zo intelligent als nodig te zijn.

Wat mij betreft, vind ik dat een template parser een vrij eenvoudig ding is.
Bestand lezen ( file_get_contents() ) en een placeholder vervangen ( str_replace() ). Voor mij is er weinig extra nodig.

Andere scripters steken er dan weer wat meer tijd in en leveren dit pareltje
http://www.phphulp.nl/php/script/data-verwerking/bbcode-parser-v-01/1558/bbcodeparserv01/1143/
 
Roy B

Roy B

23/10/2012 16:48:27
Quote Anchor link
@Ozzie,
Om antwoord te geven op uw vraag.. Op de tweede manier is de code gescheiden van de html en zodoende de template makkelijker aan te passen of te vervangen.
 
Wouter J

Wouter J

23/10/2012 16:49:13
Quote Anchor link
Ozzie, lees eens dit topic. Daar discussiëren een aantal voorstanders en een aantal tegenstanders met elkaar: http://www.phphulp.nl/php/forum/topic/template-engine-doen-of-niet-doen/83080/
Gewijzigd op 23/10/2012 16:51:35 door Wouter J
 
Frank Nietbelangrijk

Frank Nietbelangrijk

23/10/2012 18:55:53
Quote Anchor link
Wat betreft Ozie's voorbeelden ben ik het met Ozzie eens. De eerste is véél sneller zowel met het ontwikkelen van je applicatie als in het gebruik. Echter er is een maar. De tweede is met name geschikt als gebruikers - die niet aan de code mogen komen - zelf hun template mogen maken en/of aanpassen. er dient natuurlijk dan wel een mooie handleiding geschreven te worden over de notatie, de keywords etc. Om dit goed te doen is er een grote investering nodig in tijd. En als je dat dan al gaat doen, ben je niet het wiel opnieuw aan het uitvinden? ik durf eigenlijk al te beweren van wel. Er zal vast wel een mooie PHP library te vinden zijn die dit allemaal voor je regelt.

Frank.
 
Ozzie PHP

Ozzie PHP

23/10/2012 20:56:54
Quote Anchor link
Thanks voor jullie antwoorden. De nadelige bijdrage aan de performance zou voor mij een reden zijn om niet voor een template parser te kiezen.
 
Wouter J

Wouter J

23/10/2012 22:55:20
Quote Anchor link
Ozzie, performance hoeft er helemaal niet aan te leiden. Laat ik Twig als voorbeeld nemen. Zodra deze in de productie omgeving zit cached hij bij het allereerste bezoek van de allereerste bezoeker, dus niet per bezoeker, alle pagina's als of het een gewone PHP template was. Zeg maar:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
Twig template
=============
{% for article in articles %}
    <h1>{{ article.title }}</h1>
    <p>{{ article.intro }}</p>
{% endfor %}

Gecachede template
==================
<?php foreach ($articles as $article) : ?>
    <h1><?= $article['title'] ?></h1>
    <p><?= $article['intro'] ?></p>
<?php endforeach ?>


Hierdoor is er geen sprake meer van een template parser in de productie omgeving.
 
Ozzie PHP

Ozzie PHP

23/10/2012 23:01:21
Quote Anchor link
Ah zo... ik snap wat je bedoelt. Maar ik vind het net zo makkelijk om rechtstreeks de php code te typen :)
Maar voor iemand die niet kan programmeren kan ik me voorstellen dat het handig zou kunnen zijn.
 
Wouter J

Wouter J

23/10/2012 23:20:12
Quote Anchor link
Ozzie, het heeft nog meer voordelen. Bijv. auto-escaping, template inhertance, het limiteren van wat een webdesigner kan doen, ect.
 
Ozzie PHP

Ozzie PHP

23/10/2012 23:25:54
Quote Anchor link
Ja, maar ik zie voor mezelf (op dit moment) nog niet echt voordelen. Ik zal me er binnenkort nog wat meer in verdiepen en wie weet stel ik m'n mening dan nog bij...
 
Frank Nietbelangrijk

Frank Nietbelangrijk

23/10/2012 23:44:51
Quote Anchor link
Dank je Wouter.

Kijk eens op http://twig.sensiolabs.org/..

Dit zijn toch hele belangrijke punten. even wat copy-paste:

Documented: Twig is fully documented, with a dedicated online book, and of course a full API documentation.

Secure: When it comes to security, Twig has some unique features:

Automatic output escaping: To be on the safe side, you can enable automatic output escaping globally or for a block of code

Fast: One of the goals of Twig is to be as fast as possible. To achieve the best speed possible, Twig compiles templates down to plain optimized PHP code. The overhead compared to regular PHP code was reduced to the very minimum.

Toevoeging op 23/10/2012 23:53:10:

Vooral de laatste spreekt me wel aan: To achieve the best speed possible, Twig compiles templates down to plain optimized PHP code..

Ga dat maar even zelf maken.

Overigens snap ik Roy ook wel, je hebt een idee en je wil dat uitvoeren. Bovendien is dat goed voor je skills.
Gewijzigd op 23/10/2012 23:56:16 door Frank Nietbelangrijk
 
Wouter J

Wouter J

23/10/2012 23:58:02
Quote Anchor link
Frank, ook een Symfony gebruiker? :) Ik ben over het algemeen niet zo'n voorstander van het wiel opnieuw uitvinden, maar als leerproces is het inderdaad erg geschikt!
 
Frank Nietbelangrijk

Frank Nietbelangrijk

24/10/2012 00:08:41
Quote Anchor link
Wouter nee hoor, al wil ik nog wel eens mijn licht er mee opsteken. Ik gebruik Codeigniter. Lekker licht.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.