Все действия происходят на сайте с установленным на него Drupal 8. Есть блок на главной странице, который является представлением, выводящим 3 последние новости сайта. В каждой новости есть 3 поля:
- Дата публикации (field_publish_date).
- Заголовок (field_title).
- Текст новости (field_body).
Представление настроено таким образом, что из таблицы БД, в которой содержится текст новости, берётся значение колонки не body_value со всякими лишними html-тегами и картинками, а краткий анонс - значение колонки body_summary. Это сделано посредством выбора в настройках соответствующего поля из select'а "Средство форматирования" опции "Краткое содержание или обрезанный текст":
Сейчас появилась необходимость переверстать этот блок, и я с этой целью создал файл темизации
block--views-block--news-block-1.html.twig. В нём я могу обращаться к переменной {{ content }}, которая содержит в себе все вышеперечисленные поля. Но мне нужно обращаться к каждому полю по отдельности, а не ко всему контенту целиком. Перепробовав кучу неработающих вариантов (наподобие
{{ content.field_body }} или
{{ content.field_body[0].value }}), нашёл единственный рабочий в моём случае:
{% for row in content['#view'].result %}
{{ content['#view'].field['field_publish_date'].value(row) }}
{{ content['#view'].field['field_title'].value(row) }}
{{ content['#view'].field['field_body'].value(row) }}
{% endfor %}
Всё замечательно выводится и я могу оборачивать поля в отдельные html-теги. Проблема в том, что
content['#view'].field['field_body'].value(row) выводит мне содержимое колонки body_value из БД, а мне нужно обращаться к колонке body_summary. Перепробовал кучу разных вариантов, но ни один не сработал. Подскажите, пожалуйста, как можно вывести в этом twig-файле значение колонки body_summary?
Пока что я разобрался точно, что мой способ обращения к полям получает их сырые значения (т.е. до всяких обработок). Возможно, есть какой-то способ получать их финальные значения? Либо способ обратиться к тем же "сырым" данным, но к конкретной колонке из БД (что-то наподобие
{{ content.field_body.0.body_summary }})?