Standaard modifiers

De volgende tabel toont alle standaard modifiers. Dit zijn modifiers die je kunt gebruiken om een gewone variabele (met daarin een string, getal, datum, of soortgelijk veld) aan te passen:

Modifier Beschrijving
base64_encode codeert input naar base64
base64_decode decodeert input naar base64
capitalize vervangt de eerste letter van elk woord door een hoofdletter
cat voegt extra karakters toe
count telt het aantal elementen
count_characters telt het aantal karakters
count_paragraphs telt het aantal paragrafen
count_sentences telt het aantal zinnen
count_words telt het aantal woorden
date_format bepaalt de opmaak van datumvelden
default toont een default waarde als variabele geen waarde bevat
escape zorgt ervoor dat variabele veilige weergegeven wordt
md5 zet een variabele om naar een md5-hash
nl2br vervangt newlines met HTML br tags
regex_replace vervangt een deel van de inhoud met een andere waarde via een reguliere expressie
replace vervangt een deel van de inhoud met een andere waarde
spacify plaatst een spatie tussen elk karakter
strlen telt het aantal tekens
lower zet alle tekens om naar kleine letters
upper zet alle tekens om naar grote letters
trim verwijdert spaties en endline karakters aan zowel het begin als eind
truncate stopt een variabele na het opgegeven aantal tekens
ucfirst vervangt de eerste teken met een hoofdletter
urlencode codeert input om te gebruiken in een url
urldecode decodeert input om te gebruiken in een url

base64_encode

De modifier 'base64_encode' codeert data naar base64. Dit werkt alleen niet op arrays.

Stel bijvoorbeeld dat de variabele {$Naam} de waarde Richard van de Zande bevat. Door gebruik te maken van {$Naam|base64_encode} wordt de waarde weergegeven als UmljaGFyZCB2YW4gZGUgWmFuZGU=.

base64_decode

De modifier 'base64_decode' decodeert base64-gecodeerde data.

Stel bijvoorbeeld dat de variabele {$Base64encoded} de waarde UmljaGFyZCB2YW4gZGUgWmFuZGU= bevat. Door gebruik te maken van {$Base64encoded|base64_decode} wordt de waarde weergegeven als Richard van de Zande.

capitalize

De modifier 'capitalize' vervangt de eerste letter van elk woord door een hoofdletter.

Stel bijvoorbeeld dat de variabele {$Naam} de waarde richard van de zande bevat. oor gebruik te maken van {$Naam|capitalize} wordt de waarde weergegeven als Richard Van De Zande.

Woorden die getallen bevatten worden niet voorzien van een hoofdletter tenzij je de optionele parameter 'true' gebruikt. {$Naam|capitalize} wordt weergeven als k3, terwijl {$Naam|capitalize:true} als K3 getoond wordt.

cat

De modifier 'cat' geeft je de mogelijkheid om tekst toe te voegen aan een variabele.

Door gebruik te maken van de code {$Naam|cat:"junior"} geef je de naam Karel Appel weer als Karel Appel junior.

count

De modifier 'count' telt het aantal elementen in een array. Als de variabele geen array is, wordt 0 teruggegeven.

Stel bijvoorbeeld dat de variabele {$Namen} de array ["Richard", "Eva", "Karel"] bevat. Door gebruik te maken van {$Namen|count} wordt de waarde weergegeven als 3.

count_characters

Met deze modifier tel je het aantal karakters in een variabele (met of zonder spaties).

Stel dat de variabele {$Tekst} de waarde Dit is een testmail bevat. Je kunt het bijbehorende karakteraantal ophalen door middel van de onderstaande codes:

{$Tekst}
{$Tekst|count_characters}
{$Tekst|count_characters:true}

Het resultaat:

Dit is een testmail
16 (zonder spaties)
19 (met spaties)

count_paragraphs

Met deze modifier tel je het aantal paragrafen in een variabele.

We gaan bijvoorbeeld uit van een variabele {$text} met twee paragrafen:

Dit is een voorbeeld tekst.

En deze tekst heeft in totaal 2 paragrafen.

Door gebruik te maken van {$text|count_paragraphs} wordt de waarde weergegeven als 2.

count_sentences

Je gebruikt deze modifier om het aantal zinnen in een variabele te tellen.

Stel dat de variabele{$text} de volgende twee zinnen bevat:

Beste klant,
Bedankt voor je bestelling.

Door gebruik te maken van {$text|count_sentences} wordt de waarde weergegeven als 2.

count_words

Je gebruikt de modifier 'count_words' om het aantal woorden in een variabele te tellen.

Stel bijvoorbeeld dat de variabele {$text} de waarde Beste klant, bedankt voor je bestelling bevat:

Door gebruik te maken van {$text|count_words} wordt de waarde weergegeven als 6.

date_format

Met deze modifier bepaal je de opmaak van datumvelden.

In de onderstaande voorbeelden combineren we de modifier met de $smarty.now-variabele.

{$smarty.now|date_format}                   Apr 11, 2024
{$smarty.now|date_format:"%d-%m-%Y"}        11-04-2024
{$smarty.now|date_format:"%Y-%m-%d"}        2024-04-11
{$smarty.now|date_format:"%A, %e %B %Y"}    donderdag, 11 april 2024
{$smarty.now|date_format:“%A"}              donderdag

Je kunt de modifier ook combineren met een datumveld binnen het profiel:

{$profile.Geboortedatum|date_format:"%d-%m-%Y"}

Let op: Om bijvoorbeeld maandnamen (deziembre vs. december) correct weer te geven is het belangrijk dat je de taal van het template of document juist instelt. De benodigde optie vind je binnen je template of document onder 'Configuratie -> Personalisatie-instellingen'.

Deze modifier wordt hier uitgebreider toegelicht.

default

De modifier 'default' roept een standaardwaarde aan die wordt gebruikt als een bepaalde waarde ontbreekt.

Stel bijvoorbeeld dat de variabele {$Naam} geen waarde heeft. Door gebruik te maken van {$Naam|default:"Beste klant"} wordt de waarde weergegeven als Beste klant.

escape

De modifier 'escape' voert een escape uit op een variabele om speciale tekens om te zetten naar HTML-entiteiten. Deze modifier werkt niet op een array.

Stel bijvoorbeeld dat de variabele {$Text} de waarde <div>Beste heer & mevrouw</div> bevat. Door gebruik te maken van {$Text|escape} wordt de waarde weergegeven als &lt;div&gt;Beste heer &amp; mevrouw&lt;/div&gt;.

md5

De modifier 'md5' berekent de MD5 checksum van de tekst.

Stel bijvoorbeeld dat de variabele {$Text} de waarde Beste klant bevat. Door gebruik te maken van {$Text|md5} wordt de waarde weergegeven als 8b1e40a19250da427412feec76b408d8.

nl2br

De modifier 'nl2br' vervangt newlines met HTML <br>-tags. Hierdoor kun je gewone tekst weergeven die correct wordt opgemaakt in HTML-modus. Deze modifier werkt ook bij gebruik van een array.

Stel bijvoorbeeld dat de variabele {$Text} de waarde "Hallo\nWelkom" bevat. Door gebruik te maken van {$Text|nl2br} wordt de waarde weergegeven als:

Hallo<br>Welkom

regex_replace

De modifier 'regex_replace' vervangt delen van je tekst met andere tekst op basis van reguliere expressies. Deze modifier werkt niet als de variabele een array is.

Stel bijvoorbeeld dat de variabele {$Text} de waarde "Mijn nummer is 123" bevat. Door gebruik te maken van {$Text|regex_replace:"/\d/":" een getal "} wordt de waarde weergegeven als Mijn nummer is een getal een getal een getal.

replace

De modifier 'replace' maakt het mogelijk om tekst in een variabele te vervangen.

Stel dat je een variabele {$text} hebt. De bijbehorende tekst is Klik hier om de nieuwsbrief in te zien. Het woord nieuwsbrief wil je vervangen door e-mail. Hiervoor gebruik je de volgende code:

{$text|replace:'nieuwsbrief':'e-mail'}

Vervolgens wordt de tekst weergegeven als Klik hier om de e-mail in te zien.

spacify

De modifier 'spacify' voegt een scheidingsteken toe tussen elk teken in je variabele. De standaardscheiding is een spatie. Deze modifier werkt niet als de variabele een array is.

Stel bijvoorbeeld dat de variabele {$Text} de waarde Hallo bevat. Door gebruik te maken van {$Text|spacify:"."} wordt de waarde weergegeven als:

H.a.l.l.o

strlen

De modifier 'strlen' achterhaalt de lengte van de variabele. Bij toepassing op een array wordt de waarde 0 teruggegeven.

Stel bijvoorbeeld dat de variabele {$Text} de waarde Beste klant bevat. Door gebruik te maken van {$Text|strlen} wordt de waarde weergegeven als 11.

lower

Met de 'lower' modifier verwijder je alle hoofdletters.

Bevat je variabele {$Naam} de waarde Karel APPEL? Dan toont de code {$Naam|lower} de waarde als karel appel.

De volgorde van de gebruikte modifiers beïnvloedt de manier waarop waardes worden weergegeven. De code {$Naam|lower|capitalize} toont de waarde bijvoorbeeld als Karel Appel.

upper

Je gebruikt deze modifier om alle letters om te zetten naar hoofdletters.

Als de variabele {$Naam} de waarde Karel Appel bevat kun je gebruik maken van de code {$Naam|upper}. De waarde wordt dan omgezet naar KAREL APPEL.

trim

De modifier 'trim' verwijdert ongewenste spaties en newline-tekens aan beide zijden van je tekst. Getrimde tekens zijn spaties, tabs, newlines, regelterugloop, verticale tabs en het einde van een tekst.

Stel bijvoorbeeld dat de variabele {$Text} de waarde Beste klant bevat. Door gebruik te maken van {$Text|trim} wordt de waarde weergegeven als Beste klant.

truncate

Met deze modifier kap je een variabele af na een bepaald aantal tekens. Daarvoor gebruik je de code {$Tekst|truncate}. De tekenlimiet staat standaard ingesteld op 80 tekens.

Als de variabele {$Tekst} de waarde Lees hier meer over onze producten en diensten bevat kun je de tekst afkappen door middel van de onderstaande codes:

{$Tekst}
{$Tekst|truncate}
{$Tekst|truncate:30}
{$Tekst|truncate:30:""}
{$Tekst|truncate:30:"---"}

Deze worden weergegeven als:

Lees hier meer over onze producten en diensten
Lees hier meer over onze producten en diensten
Lees hier meer over onze...
Lees hier meer over onze
Lees hier meer over onze---

ucfirst

De modifier 'ucfirst' zet het eerste teken van de tekst om in een hoofdletter.

Stel bijvoorbeeld dat de variabele {$Naam} de waarde richard bevat. Door gebruik te maken van {$Naam|ucfirst} wordt de weergegeven als Richard.

urlencode

De modifier 'urlencode' codeert tekst zodat deze veilig in een URL kan worden gebruikt.

Stel bijvoorbeeld dat de variabele {$Text} de waarde Beste klant bevat. Door gebruik te maken van {$Text|urlencode} wordt de waarde weergegeven als Beste%20klant.

urldecode

De modifier 'urldecode' decodeert URL-gecodeerde tekst zodat deze weer leesbaar is.

Stel bijvoorbeeld dat de variabele {$Text} de waarde Beste%20klant bevat. Door gebruik te maken van {$Text|urldecode} wordt de waarde in weergegeven als Beste klant.