Smarty-personalisatie

Met Smarty kun je mailings personaliseren en zo je communicatie effectiever maken. Dit doe je door variabelen in je e-mailtemplates in te voegen. Deze variabelen worden vervangen door de juiste gegevens op basis van de ontvanger. Een eenvoudig voorbeeld hiervan is:

Beste {$Naam},

Variabelen in Smarty

De variabelen in Smarty spreken meestal voor zich. Voorbeelden zijn {$Voornaam}, {$Achternaam} en {$Email}. De beschikbare variabelen zijn gelijk aan de velden in je database. Naast velden uit je database, kun je ook gegevens uit externe bronnen halen. Voor meer informatie over de beschikbare databronnen en variabelen, kun je dit artikel over databronnen en beschikbare variabelen lezen.

Geavanceerde mogelijkheden

Smarty biedt uitgebreide mogelijkheden om je e-mails te personaliseren. Het is in feite een soort programmeertaal waarmee je teksten kunt bewerken en filteren, en waarmee je eenvoudige programmeerconstructies kunt maken. Hieronder worden enkele van deze mogelijkheden toegelicht.

Modifiers

Met modifiers kun je teksten filteren en aanpassen, zodat je niet precies de content vanuit je database in je mail hoeft te zetten. Dit is handig als je een variabele wilt inkorten, hoofdletters wilt afdwingen, of tekst in een bepaalde vorm wilt weergeven. Hieronder zie je een voorbeeld:

Beste {$Naam|ucfirst|escape},

Enkele veelgebruikte naast de ucfirst en escape modifiers zijn:

  • lower: om alle tekst in kleine letters weer te geven.
  • capitalize: om de eerste letter van elk woord met een hoofdletter weer te geven.
  • truncate: om tekst in te korten tot een bepaald aantal tekens.

Meer informatie en voorbeelden van modifiers vind je in dit artikel over modifiers.

Programmeren met Smarty

Smarty biedt ook programmeerfunctionaliteiten, zoals het gebruik van {if} en {foreach} statements om conditioneel content weer te geven, en om over data te itereren. Hiermee kun je verschillende content tonen op basis van de waarde van een variabele. Zoals onderstaand voorbeeld, waarbij content wordt getoond op basis van het geslacht van de ontvanger:

{if $Geslacht == "man"}
Beste meneer
{else}
Beste mevrouw
{/if}

Meer over de programmeermogelijkheden binnen Smarty kun je lezen in dit artikel over programmeren met Smarty.