Spec-Zone.ru › Twig 2

autoescape

Включена или выключена автоматическая экранизация, вы можете пометить часть шаблона для экранирования или его отсутствия с помощью тега autoescape.

{% autoescape %}
    Everything will be automatically escaped in this block
    using the HTML strategy
{% endautoescape %}

{% autoescape 'html' %}
    Everything will be automatically escaped in this block
    using the HTML strategy
{% endautoescape %}

{% autoescape 'js' %}
    Everything will be automatically escaped in this block
    using the js escaping strategy
{% endautoescape %}

{% autoescape false %}
    Everything will be outputted as is in this block
{% endautoescape %}

При включённой автоматической экранизации всё по умолчанию экранируется, за исключением значений, явно помеченных как безопасные. Их можно пометить в шаблоне, используя фильтр raw:

{% autoescape %}
{{ safe_value|raw }}
{% endautoescape %}

Функции, возвращающие данные шаблона (например, макросы и родитель), всегда возвращают безопасную разметку.

Примечание

Twig достаточно умен, чтобы не экранировать значение, уже экранированное фильтром escape.

Примечание

Twig не экранирует статические выражения:

{% set hello = "<strong>Hello</strong>" %}
{{ hello }}
{{ "<strong>world</strong>" }}

Будет отображено «<strong>Hello</strong> world».

Примечание

В главе Twig для разработчиков содержится более подробная информация о том, когда и как применяется автоматическая экранизация.

« apply | block »

© 2009–2018 by the Twig Team
Licensed under the three clause BSD license.
The Twig logo is © 2010–2020 Symfony
https://twig.symfony.com/doc/2.x/tags/autoescape.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API