{% include ['page_detailed.html', 'page.html'] %}
{# template.html will have access to the variables from the current context and the additional ones provided #}
{% include 'template.html' with {'foo': 'bar'} %}
{% include 'template.html' with {'foo': 'bar'} only %}
{% set vars = {'foo': 'bar'} %}
{% include 'template.html' with vars %}
{% include 'sidebar.html' ignore missing %}
{% include 'sidebar.html' ignore missing with {'foo': 'bar'} %}
{% include 'sidebar.html' ignore missing only %}
{{ include('sidebar.html') }}
{% import "macros.twig" as macros %}
{% from "macros.twig" import hello %}
{% verbatim %}
{% for item in seq %}
{{ item }}
{% endfor %}
{% endverbatim %}
<p>{{ _self.input('password', '', 'password') }}p>
<p class=x{{ n }}>
{% macro input(name, value, type = "text", size = 20) %}
<input type="{{ type }}" name="{{ name }}" value="{{ value|e }}" size="{{ size }}"/>
{% endmacro %}
{% if macros.hello is defined -%}
OK
{% endif %}
{% if hello is defined -%}
OK
{% endif %}
{% set foo = 'foo' %}
{% set foo = [1, 2] %}
{% set foo = {'foo': 'bar'} %}
{% apply upper %}
This text becomes uppercase
{% endapply %}
{% apply lower|escape('html') %}
<strong>SOME TEXTstrong>
{% endapply %}
{{ list|join(', ') }}
{{ name|striptags|title }}
{% for i in 0..3 %}
{{ i }},
{% endfor %}
{% for i in range(0, 3) %}
{{ i }},
{% endfor %}
{% for i in range(low=1, high=10, step=2) %}
{{ i }},
{% endfor %}
{{ data|convert_encoding('UTF-8', 'iso-2022-jp') }}
{# versus #}
{{ data|convert_encoding(from='iso-2022-jp', to='UTF-8') }}
{{ "now"|date(null, "Europe/Paris") }}
{{ "now"|date('d/m/Y H:i', timezone="Europe/Paris") }}
html>
<html>
<head>
{% block head %}
<link rel="stylesheet" href="style.css"/>
<title>{% block title %}{% endblock %} - My Webpagetitle>
{% endblock %}
head>
<body>
<div id="content">{% block content %}{% endblock %}div>
<div id="footer">
{% block footer %}
© Copyright 2011 by <a href="http://domain.invalid/">youa>.
{% endblock %}
div>
body>
html>
{% extends "base.html" %}
{% block title %}Index{% endblock %}
{% block head %}
{{ parent() }}
<style type="text/css">
.important { color: #336699; }
style>
{% endblock %}
{% block content %}
<h1>Indexh1>
<p class="important">
Welcome to my awesome homepage.
p>
{% endblock %}
{% block sidebar %}
<h3>Table Of Contentsh3>
...
{{ parent() }}
{% endblock %}
{% set greeting = 'Hello ' %}
{% set name = 'Fabien' %}
{{ greeting ~ name|lower }} {# Hello fabien #}
{# use parenthesis to change precedence #}
{{ (greeting ~ name)|lower }} {# hello fabien #}
{# keys as string #}
{{{ 'foo': 'foo', 'bar': 'bar' }}}
{# keys as names (equivalent to the previous hash) #}
{{{ foo: 'foo', bar: 'bar' }}}
{# keys as integer #}
{{{ 2: 'foo', 4: 'bar' }}}
{# keys can be omitted if it is the same as the variable name #}
{{{ foo }}}
{# is equivalent to the following #}
{{{ 'foo': foo }}}
{# keys as expressions (the expression must be enclosed into parentheses) #}
{% set foo = 'foo' %}
{{{ (foo): 'foo', (1 + 1): 'bar', (foo ~ 'b'): 'baz' }}}
{% apply spaceless %}
<div>
<strong>foo barstrong>
div>
{% endapply %}
{% cache "cache key" ttl(300) %}
Cached for 300 seconds
{% endcache %}
{{ sizes|filter(v => v > 38)|join(', ') }}
{{ 34243 b-xor 89754321 }}
{% set bar = 'bar' %}
{% with { foo: 42 } only %}
{# only foo is defined #}
{# bar is not defined #}
{% endwith %}