Twig Components / Methods / with
Note: You are currently reading the documentation for Bolt 5.0. Looking for the documentation for Bolt 5.2 instead?
with
is a Twig tag to create a new inner scope. Variables set within this scope are not visible
outside of the scope:
{% with %}
{% set foo = 42 %}
{{ foo }} {# foo is 42 here #}
{% endwith %}
foo is not visible here any longer
Instead of defining variables at the beginning of the scope, you can pass a hash of variables you want to define in the
with
tag; the previous example is equivalent to the following one:
{% with { foo: 42 } %}
{{ foo }} {# foo is 42 here #}
{% endwith %}
foo is not visible here any longer
{# it works with any expression that resolves to a hash #}
{% set vars = { foo: 42 } %}
{% with vars %}
...
{% endwith %}
By default, the inner scope has access to the outer scope context; you can disable this behavior by appending the only
keyword:
{% set bar = 'bar' %}
{% with { foo: 42 } only %}
{# only foo is defined #}
{# bar is not defined #}
{% endwith %}
Source: Twig
Edit this page on GitHub
Couldn't find what you were looking for? We are happy to help you in the forum, on Slack or on Github.
Couldn't find what you were looking for? We are happy to help you in the forum, on Slack or on Github.