When writing Twig templates, we recommend you to follow these official coding standards:
Put one (and only one) space after the start of a delimiter ({{, {%,
and {#) and before the end of a delimiter (}}, %}, and #}):
1 2 3 | {{ foo }}
{# comment #}
{% if foo %}{% endif %}
|
When using the whitespace control character, do not put any spaces between it and the delimiter:
1 2 3 | {{- foo -}}
{#- comment -#}
{%- if foo -%}{%- endif -%}
|
Put one (and only one) space before and after the following operators:
comparison operators (==, !=, <, >, >=, <=), math
operators (+, -, /, *, %, //, **), logic
operators (not, and, or), ~, is, in, and the ternary
operator (?:):
{{ 1 + 2 }}
{{ foo ~ bar }}
{{ true ? true : false }}
Put one (and only one) space after the : sign in hashes and , in
arrays and hashes:
1 2 | {{ [1, 2, 3] }}
{{ {'foo': 'bar'} }}
|
Do not put any spaces after an opening parenthesis and before a closing parenthesis in expressions:
1 | {{ 1 + (2 * 3) }}
|
Do not put any spaces before and after string delimiters:
1 2 | {{ 'foo' }}
{{ "foo" }}
|
Do not put any spaces before and after the following operators: |,
., .., []:
1 2 3 4 | {{ foo|upper|lower }}
{{ user.name }}
{{ user[name] }}
{% for i in 1..12 %}{% endfor %}
|
Do not put any spaces before and after the parenthesis used for filter and function calls:
1 2 | {{ foo|default('foo') }}
{{ range(1..10) }}
|
Do not put any spaces before and after the opening and the closing of arrays and hashes:
1 2 | {{ [1, 2, 3] }}
{{ {'foo': 'bar'} }}
|
Use lower cased and underscored variable names:
1 2 | {% set foo = 'foo' %}
{% set foo_bar = 'foo' %}
|
Indent your code inside tags (use the same indentation as the one used for the main language of the file):
1 2 3 4 5 | {% block foo %}
{% if true %}
true
{% endif %}
{% endblock %}
|