Ответы:
{{ entity.field_name.value }}
чтобы получить истинное необработанное значение, включает теги и кодировку.
{{ node.body.value }}
<p>Batman & Robin</p>
{{ content.field_name.0 }}
чтобы получить необработанное значение минус теги и кодирование.
{{ content.body.0 }}
Batman & Robin
сырье
По возможности следует избегать этого фильтра, особенно если вы выводите данные, которые могут быть введены пользователем. Смотрите эту страницу для получения дополнительной информации об автопробеге в Drupal 8.
source: Filters - Изменение переменных в шаблонах Twig
Необработанный фильтр помечает значение как «безопасное», что означает, что в среде с включенным автоматическим экранированием эта переменная не будет экранирована, если raw является последним фильтром, примененным к нему
источник: официальные документы Twig
Например, вы можете использовать:
{{ node.body.value|striptags }}
{{ paragraph.field_text.value|striptags }}
Проблема использования twig's striptags заключается в двойном кодировании html-сущностей, а не разметки, поэтому & становится &, а затем & amp; - Бердир
<
и >
отображаются правильно. Амперсанд, вероятно, уже один раз сбежал, прежде чем вывести его. Но вопрос касается простого текстового поля , а не отформатированного текстового поля, обработанного текстовыми фильтрами. (Чтобы ответить на этот не заданный вопрос, необработанное значение (если кто-то действительно этого хочет) все еще будет в нем, .value
и оно будет корректно исключено из Twig по соображениям безопасности, потому что вы никогда не должны выводить отформатированное текстовое поле без
&
вывод в вашем примере неправильный, это не происходит в автоэкранировании, если только содержимое поля не экранировано один раз).
В этом случае вы можете использовать модуль Twig Field Value . После установки этого модуля вы получите доступ к частичным данным из массивов рендеринга полей. Например
{{ content.field_name|field_value }}
content.field_image|field_target_entity.uri.value
и т.д. Подробнее на странице проектов