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
<div>Beste heer & mevrouw</div>
.
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
.