Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


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"}

For Invoice Delivery Email templates, you can use this example which includes the currency code and invoice total tags.

Code Block
{invoice.total | currency_format invoice.currency}


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
{"some date string" | date "Y M d"} eg.
{invoice.date_due | date "Y M d"}


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 %}