Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3
Table of Contents
Table of Contents
outlinetrue
classtoc
Excerpt
hiddentrue

How to change and customize email templates.

Blesta 3.0 uses the H2o Template system for parsing Email Templates. The following is an overview of its basic usage. We've overridden the default {{ var_name }} with { var_name } for simplicity, but that's the only way in which the following documentation differ from any official H2o documentation.

Conditional Statements

Code Block
{% if id > 3 %}

This will print out if $id is > 3

{% endif %}

Loops

Code Block
{% for user in users %}

Name: {user.first_name} {user.last_name}

{% endfor %}

Assuming:

Code Block
$users = array(
    array(
         'first_name'=>"First name",
         'last_name'=>"Last name"
    ),
    array(
         'first_name'=>"First name 2",
         'last_name'=>"Last name 2"
    )
);

Loops can also take advantage of limits:

Code Block
{% for user in users limit:1 %}

The above would only cycle through the loop one time.

Filters

Filters are applied to individual variables and are preceded by a pipe symbol (|). Parameters are passed to filters using a comma (,) separated list.

Code Block
{past_due | set_default "Not past due"} // Produces "Not past due" if past_due is false

Multiple filters can be applied in succession:

Code Block
{past_due | set_default "not past due" | capitalize} // Produces NOT PAST DUE if past_due is false

Supported Filters

FilterDescriptionExample Usage
currency_format

Formats the value into a currency string.

Parameters

  1. currency code
Code Block
{"1.2345" | currency_format "USD"}
md5Hashes the value using MD5.
Code Block
{"some string" | md5}
sha1Hahses the value using SHA1.
Code Block
{"some string" | sha1}
numberformat

Formats the value into a number.

Parameters

  1. number of decimal places
  2. decimal point character
  3. thousands separator character
Code Block
{"12345.6789" | numberformat 2, ".", ","}
wordwrap

 Wraps a string into multiple lines.

Parameters

  1. number of characters per line
  2. break string
Code Block
 {"some string" | wordwrap 5, "\n<br />"}
trimRemoves white space around a string.
Code Block
{" some string " | trim}
upperConverts a string to uppercase.
Code Block
 {"some string" | upper}
lowerConverts a string to lowercase.
Code Block
 {"SOME STRING" | lower}
firstReturns the first element of an array.
Code Block
 {array_of_items | first}
lastReturns the last element of an array.
Code Block
{array_of_items | last} 
join

Combines an array of elements into a delimited string.

Parameters

  1. delimiter (default is ', ')
Code Block
 {array_of_items | join ', '}
lengthReturns the length of an array.
Code Block
 {array_of_items | length}
urlencodeURL encodes an string or array of parameters.
Code Block
 {array_of_items | urlencode}
hyphenizeReplaces white space with hyphens.
Code Block
 {"some string" | hyphenize}
urlize

Converts a URL into an HTML link.

Code Block
 {"http://domain.com/" | urlize}
set_default

Sets a default value when no other value exists.

Parameters

  1. default value
Code Block
 {not_set | set_default "default value"}
humanize 
Code Block
 
capitalize 
Code Block
 
capfirst 
Code Block
 
tighten_space 
Code Block
 
escape 
Code Block
 
escapejson 
Code Block
 
force_escape 
Code Block
 
truncate 
Code Block
 
limitwords 
Code Block
 
filesize 
Code Block
 
image_tag 
Code Block
 
css_tag 
Code Block
 
script_tag 
Code Block
 
links_to 
Code Block
 
links_with 
Code Block
 
strip_tags 
Code Block
 
linebreaks 
Code Block
 
nl2br 
Code Block
 
nl2pbr 
Code Block
 
htmlAttribute 
Code Block
 
extract 
Code Block
 
date 
Code Block
 
relative_time 
Code Block
 
relative_date 
Code Block
 
relative_datetime 
Code Block
 

Debugging

Adding the following tag to any email template will enable debugging, and display data key value pairs:

Code Block
{% debug %}