Functies en blokken
Naast variabelen kun je ook functies en blokken gebruiken om
content dynamisch te maken. Een blok bestaat uit een open- en sluittag, en een functie
uit enkel een opentag. In onderstaand voorbeeld gebruiken we een {if}
blok, en een
{math}
functie.
{math equation="a + b" a=3 b=5 result=output}
{if $output > 6}
De output is {$output}
{/if}
Functies en blokken gebruik je vaak als je met Smarty gaat programmeren, of als je gegevens vanuit andere bronnen moet inladen.
De belangrijkste blokken en functies
Een aantal functies en blokken gebruik je heel vaak, dit zijn onder meer:
-
De tags {if}, {else} en {/if}: Om conditionele content in je mailing op te nemen, bijvoorbeeld als je bepaalde informatie alleen aan specifieke ontvangers wilt tonen. Klik hier voor meer informatie.
-
De tags {foreach} en {/foreach}: Om door een verzameling van gegevens, zoals subprofielen of bestellingen, heen te lopen, en ze één voor één te tonen. Klik hier voor meer informatie.
-
De tag {unsubscribe}: Om een afmeldlink in je mailing te plaatsen. Deze functie moet je eigenlijk in al je mailings gebruiken om te voldoen aan wettelijke eisen. Klik hier voor meer informatie.
-
De tag {webversion}: Om een link naar de webversie in je mailing te plaatsen, zodat ontvangers die een mail niet goed kunnen openen hem toch in hun browser kunnen lezen. Klik hier voor meer informatie.
Nog meer functies om mee te programmeren
Naast bovenstaande functies, kun je ook deze functies gebruiken om mee te programmeren:
-
De tag {assign}: Om een nieuwe Smarty variabele aan te maken. Bijvoorbeeld handig om te voorkomen dat je steeds een heel lange geneste variabele moet herhalen. Klik hier voor meer informatie.
-
De tags {capture} and {/capture}: Om een stuk test of broncode op te vangen en aan een Smarty variabele toe te kennen. Klik hier voor meer informatie.
-
De tag {math}: Voor berekeningen en wiskundige operaties. Klik hier voor meer informatie.
-
De tags {in_selection} en {/in_selection}: Een alternatief voor {if} waarmee je output kunt markeren die alleen is bedoeld voor profielen in een bepaalde selectie. Klik hier voor meer informatie.
-
De tags {in_miniselection} en {/in_miniselection}: Hetzelfde als {in_selection}, maar dan voor subprofielen en miniselecties. Klik hier voor meer informatie.
-
De tags {mailonly} en {/mailonly}: Om content af te schermen die alleen in de mailversie van een mailing moet staan (en dus niet in de webversie). Klik hier voor meer informatie.
-
De tags {webonly} en {/webonly}: Het tegenovergestelde van {mailonly}, voor content die alleen in de webversie van een mailing moet staan (en dus niet in de mailversie). Klik hier voor meer informatie.
-
De tags {condition} en {/condition}: Een alternatief voor {if} waarmee je condities met Javascript kunt maken in plaats van met Smarty code. Klik hier voor meer informatie.
Inladen van content
Als je in een mailing wilt verwijzen naar content elders, kun je hiervoor de volgende functies gebruiken:
-
De tag {fetch}: Voor het inladen van extern gehoste content. Klik hier voor meer informatie.
-
De tag {linkfile}: Om te linken naar een bestand dat aan een profiel is gekoppeld. Klik hier voor meer informatie.
-
De tag {linkpdf}: Om te linken naar een PDF bestand. Klik hier voor meer informatie.
-
De tag {loadfeed}: Om een externe content feed in XML formaat in te lezen. Klik hier voor meer informatie.
-
De tag {loadfile}: Om een extern bestand in te lezen. Klik hier voor meer informatie.
-
De tag {loadprofile}: Om profielgegevens uit andere databases in te lezen. Klik hier voor meer informatie.
-
De tag {loadsubprofile}: Hetzelfde als {loadprofile}, maar dan voor subprofielen. Klik hier voor meer informatie.
-
De tag {survey}: Om een enquête vanuit de Publisher content-module in een website op te nemen. Klik hier voor meer informatie.
-
De tag {webform}: Om een webformulier vanuit de Publisher content-module in een website op te nemen. Klik hier voor meer informatie.
Overige functies en blokken
-
De tag {counter}: Als je een teller in je mailing wilt gebruiken. Klik hier voor meer informatie.
-
De tags {literal} en {/literal}: Om een stuk code mee te markeren waarbinnen je veilig { en } kunt gebruiken zonder dat dit als Smarty code wordt gezien. Klik hier voor meer informatie,
-
De tags {textformat} en {/textformat}: Om wat ASCII code te formateren. Soms handig voor de tekstversie van een mail. Klik hier voor meer informatie.
-
De variabele {$smarty.now}: Eigenlijk niet echt een functie, maar sowieso handig voor datum- en tijdsweergave. Klik hier voor meer informatie.