У меня есть шаблон ветки для пользовательского типа контента. И он может отображать большинство полей просто отлично, но я не могу напечатать поле изображения с несколькими изображениями.
узел - mycontenttype.html.twig содержит
{{ content.field_mytitle }}
{{ content.field_myheaderimage }}
<div class="row expanded">
{% for galleryimage in content.field_gallery_images %}
<div class="gallery-image-item"> {{ galleryimage }} </div>
{% endfor %}
</div>
content.field_mytitle и content._field_myheaderimage выводит заголовок и изображение просто отлично. Но когда я использую для цикла
{% for galleryimage in content.field_gallery_images %}
<div class="gallery-image-item"> {{ galleryimage }} </div>
{% endfor %}
Я получаю ошибку
Exception: Object of type Drupal\node\Entity\Node cannot be printed. in Drupal\Core\Template\TwigExtension->escapeFilter() (line 443 of core/lib/Drupal/Core/Template/TwigExtension.php).
Когда я просто использую
{{ content.field_gallery_images }}
Он может выводить каждое изображение, но это не позволяет мне обернуть каждый элемент в div и добавить содержимое к каждому.
Ответы:
Напечатайте поле изображения в шаблоне узла, как любое другое поле:
А затем используйте ветку поля, чтобы пройтись по нескольким элементам поля:
поле - поле-галерея-images.html.twig
источник
На D8 я смог сделать цикл foreach на своих изображениях, чтобы создать карусель.
источник