Personalisatie modifiers

Je kunt de variabelen, waarmee je e-mails personaliseert, veranderen met behulp van modifiers. Je doet dit door een | toe te voegen na de variabele. Je gebruikt bijvoorbeeld lower om de variabele {$name} te bewerken. Dit ziet er dan zo uit: {$name|lower}. Tot slot, je kunt ook een aantal 'modifiers' achter elkaar gebruiken. Je kunt bijvoorbeeld {$name|lower|ucfirst} gebruiken om te zorgen dat alle namen met een hoofdletter beginnen en de resterende letters altijd kleine letters zijn.

De volgende tabel laat alle geldige modifiers zien:

Modifier Beschrijving
base64_encode base64 encoder
base64_decode base64 decoder
cat:"string" maakt van de variabele een string
count telt het aantal elementen in een variable
count_characters telt het aantal tekens in een string
count_paragraphs telt het aantal paragrafen in een tekst (door newlines te tellen)
count_words telt het aantal woorden in een tekst
default:default value gebruik default waarde als variabele niet is aangegeven
empty niet beschikbaar; gebruik {!variabele} om te checken of deze een waarde bevat
escape:"string" escape html tekens (of andere tekens) binnen een string
indent:num = 1:char = " " zet het aantal whitespaces aan het begin van elke regel
md5 voer md5 hashing uit
nl2br vervang newlines met html br tags
range:start = 0:end lijst opdelen om de items tussen de start en eindpositie te krijgen
regex_replace:regex:replace_text vervang substrings door regular expressions te gebruiken
replace:"string1":"string2" vervang het voorkomen van string1 met string2
sha1 voer sha1 hashing uit
sha256 niet beschikbaar; hash met {hash($text, 'sha256')}
sha512 niet beschikbaar; hash met {hash($text, 'sha512')}
spacify:separator = " " plaats een verdeler tussen elk input teken
strlen tel het aantal tekens in een string
strstr:"substring":before = false geef de string terug, startend van de eerste eerste verschijning van substring als before = false. Geef anders de string terug tot aan de eerste verschijning.
substr:start position:length geef de substring terug vanaf startpositie. Optioneel opgedeeld na een bepaalde lengte aan karakters
lower zet alle tekens om naar kleine letters
upper zet alle tekens om naar grote letters
trim trim de spaties en endline tekens aan beide kanten van het inputveld
truncate:length = 80:etc = "...":break_words = false deel de inputvelden op die niet langer dan lengte en toevoegen zijn aan het eind. break_words = true staat het opdelen van delen van woorden toe.
ucfirst vervang eerste teken met een hoofdletter
urlencode codeer input om te gebruiken in een url
urldecode decodeer input om te gebruiken in een url

base64_encode

Met deze modifier codeer je data naar base64. Dit werkt alleen niet op arrays. Gebruik:

The base64 encoding of {$name} is {$name|base64_encode}

base64_decode

Met deze modifier kun je base64 decoderen. Gebruik:

The decoded information is {$base64encoded|base64_decode}

cat

Met deze modifier kun je een string samenvoegen met je variabele. Als de variabele een array is, wordt de string gebruikt. Gebruik:

{$name|cat:"string"}

count

Met deze modifier kun je het aantal elementen tellen in een array. Er wordt een 0 teruggegeven als de variabele geen array is. Gebruik:

{$names|count}

count_characters

Met deze modifier kun je het aantal tekens in een tekst tellen. Er wordt in dit geval een 0 teruggegeven als de variabele waarop deze modifier wordt aangeroepen een array bevat. Gebruik:

{$name|count_characters}

count_paragraphs

Met deze modifier kun je het aantal paragrafen tellen in een tekst. Er wordt een 0 teruggegeven als de modifier wordt aangeroepen op een array. Gebruik:

The following text has {$text|count_paragraphs} paragraph
Text:
{$text}

count_words

Met deze modifier kun je het aantal woorden tellen in een stuk tekst. Hier wordt een 0 teruggegeven als de 'modifier' wordt aangeroepen op een array. Gebruik:

"{$text}" has {$text|count_words} words

default

Met deze modifier kun je de default waarde aanroepen die wordt gebruikt bij het ontbreken van een bepaalde waarde. Gebruik:

This will always show {$name|default:"something"}

empty

Deze modifier is niet meer beschikbaar. Je kunt checken of een variabele een waarde bevat door deze om te zetten in een boolean, zoals te zien is in het onderstaande voorbeeld. Gebruik:

{if $name|empty}
Beste klant,
{else}
Beste {$name},
{/if}

escape

Met deze modifier kun je escape aanroepen op een variabele. Deze modifier werkt niet op een arrray. Gebruik:

{$text|escape:"html"}
is gelijk aan:
{$text|escape}

indent

Met deze modifier kun je indentatie toevoegen aan je tekst. Je kunt zelfs specificeren hoeveel indentatie er nodig is en welke tekens indentatie moeten ontvangen. De syntax is indent:num:char en de default is 1 en spacing respectievelijk. De modifier wordt genegeerd bij gebruik op een array. Gebruik:

{$text|indent:4:" "}

md5

Met deze modifier kun je de MD5 checksum van je tekst calculeren. Bij gebruik van een array, wordt de hele array gecalculeerd. Gebruik:

{$text|md5}

nl2br

Met deze modifier vervang je newlines met HTML br tags. Dit stelt je in staat om gewone tekst te schrijven dat op wordt gedeeld in HTML modus. Dit werkt bij gebruik van een array. Gebruik:

{$text|nl2br}

range

Met deze modifier kun je een array als het ware opknippen door zelf de grenzen aan te geven waartussen de range moet vallen. Deze modifier werkt niet als de variabele geen array is. Gebruik:

{$array|range:2:5}

regex_replace

Met deze modifier kun je delen van je tekst vervangen met andere tekst, gebaseerd op regular expressions. Dit werkt niet als de variabele een array is. Gebruik:

This will replace each number in the variable string with the string "a number"
{$text|regex_replace:"/\d/":" a number "}

replace

Met deze modifier kun je een deel van de tekst vervangen met andere tekst. De syntax is als volgt: replace:"string1":"string2". Dit zorgt ervoor dat overal waar "string1" voorkomt, deze wordt vervangen door "string2". Dit werkt niet als de variabele een array is. Gebruik:

{$text|replace:"hi":"hello"}

sha1

Met deze modifier krijg je de SHA1 hash van de text terug. Een array wordt volledig berekend, behalve de keys. Gebruik:

{$text|sha1}

sha256

De modifier voor de SHA256 hash van een tekst is niet beschikbaar meer. Je kunt echter deze nog wel berekenen met de hash functie, zoals getoond in het onderstaande voorbeeld. Een array wordt volledig berekend, behalve de keys. Gebruik:

{hash('sha256', $text)}

sha512

De modifier voor de SHA512 hash van een tekst is niet beschikbaar meer. Je kunt echter deze nog wel berekenen met de hash functie, zoals getoond in het onderstaande voorbeeld. Een array wordt volledig berekend, behalve de keys. Gebruik:

{hash('sha512', $text)}

spacify

Met deze modifier kun je een teken of tekens toevoegen tussen elk teken in je variabele. De syntax is als volgt: spacify:separator, waar de default scheiding een spatie is. Dit werkt niet als de variabele een array is. Gebruik:

{$text|spacify:"."}

strlen

Met deze modifier kun de lengte van de variabele worden achterhaald. Bij toepassing op een array, wordt de waarde 0 teruggegeven. Gebruik:

{$text|strlen}

strstr

Met deze modifier kun je naar een string zoeken in de variabele en het punt aangeven van waar je de rest van de variabele terug wilt hebben. Dit kun het gedeelte voor de string zijn, maar ook het gedeelte vanaf de gevonden string. Deze modifier werkt niet op een array. Gebruik:

If the variable holds "Hello world!", this will print Hello, {$variable|strstr:" ":true}
and this will print world!, {$variable|strstr:"w":false}, just like this
{$variable|strstr:"w"}

substr

Met deze modifier kun je een substring van een variabele opvragen. De syntax is als volgt: substr:start:length. Start is de beginpositie (zero indexed) en de length is de lengte die je wilt opvragen. Gebruik:

If the variable is "0123456789" this will print 2 to 9
{$variable|substr:2}
and this will print 456
{$variable|substr:4:3}

lower

Met deze modifier kun je alle tekens naar kleine letters omzetten. Gebruik:

{$text|lower}

upper

Met deze modifier kun je alle tekens naar hoofdletters omzetten. Gebruik:

The next part looks like it is shouted {$text|upper}

trim

Met deze modifier kun je ongewenste spaties en new line characters in je tekst trimmen. Een overzicht van tekens die worden getrimd: spaties, tabs, newlines, regelterugloop, verticale tabs en einde van strings. Gebruik:

{$text|trim}

truncate

Met deze modifier is het mogelijk om tekst af te knippen en tot een bepaalde lengte terug te brengen. Je kunt wat tekens toevoegen om aan te geven dat de tekst is afgeknipt. Deze worden bij de lengte van het afknippen opgeteld. Je kunt ook opgeven of het toegestaan is om worden af te breken of niet. De syntax is als volgt: truncate:length:etc:break_words. De lengte heeft een default van 80, etc (de vervanging) heeft een default van ... en break_words heeft een default van false. Gebruik:

{$text|truncate:50:"....":true}

ucfirst

Met deze modifier kun je het eerste teken van de tekst vervangen met een hoofdletter teken. Gebruik:

{$name|ucfirst}

urlencode

Met deze modifier kun je tekst url encoden. Gebruik:

{$text|urlencode}

urldecode

Met deze modifier kun je tekst url decoden. Gebruik:

{$text|urldecode}