Excerpt |
---|
|
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
Filter | Description | Example Usage |
---|
currency_format | Formats the value into a currency string. Parameters - currency code
| Code Block |
---|
{"1.2345" | currency_format "USD"} |
|
md5 | Hashes the value using MD5. | Code Block |
---|
{"some string" | md5} |
|
sha1 | Hahses the value using SHA1. | Code Block |
---|
{"some string" | sha1} |
|
numberformat | Formats the value into a number. Parameters - number of decimal places
- decimal point character
- thousands separator character
| Code Block |
---|
{"12345.6789" | numberformat 2, ".", ","} |
|
wordwrap | Wraps a string into multiple lines. Parameters - number of characters per line
- break string
| Code Block |
---|
{"some string" | wordwrap 5, "\n<br />"} |
|
trim | Removes white space around a string. | Code Block |
---|
{" some string " | trim} |
|
upper | Converts a string to uppercase. | Code Block |
---|
{"some string" | upper} |
|
lower | Converts a string to lowercase. | Code Block |
---|
{"SOME STRING" | lower} |
|
first | Returns the first element of an array. | Code Block |
---|
{array_of_items | first} |
|
last | Returns the last element of an array. | Code Block |
---|
{array_of_items | last} |
|
join | Combines an array of elements into a delimited string. Parameters - delimiter (default is ', ')
| Code Block |
---|
{array_of_items | join ', '} |
|
length | Returns the length of an array. | Code Block |
---|
{array_of_items | length} |
|
urlencode | URL encodes an string or array of parameters. | Code Block |
---|
{array_of_items | urlencode} |
|
hyphenize | Replaces 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 - default value
| Code Block |
---|
{not_set | set_default "default value"} |
|
humanize | | |
capitalize | | |
capfirst | | |
tighten_space | | |
escape | | |
escapejson | | |
force_escape | | |
truncate | | |
limitwords | | |
filesize | | |
image_tag | | |
css_tag | | |
script_tag | | |
links_to | | |
links_with | | |
strip_tags | | |
linebreaks | | |
nl2br | | |
nl2pbr | | |
htmlAttribute | | |
extract | | |
date | | |
relative_time | | |
relative_date | | |
relative_datetime | | |
Debugging
Adding the following tag to any email template will enable debugging, and display data key value pairs: