Eu tenho um modelo de galho para um tipo de conteúdo personalizado. E é capaz de renderizar a maioria dos campos muito bem, mas não consigo imprimir um campo de imagem com várias imagens.
nó - mycontenttype.html.twig contém
{{ 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 e content._field_myheaderimage produz o título e a imagem muito bem. Mas quando eu uso o loop for
{% for galleryimage in content.field_gallery_images %}
<div class="gallery-image-item"> {{ galleryimage }} </div>
{% endfor %}
Eu recebo um erro
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).
Quando eu apenas uso
{{ content.field_gallery_images }}
É capaz de produzir cada imagem, mas isso não me permite agrupar cada item em divs e adicionar conteúdo a cada um.
Respostas:
Imprima o campo de imagem no modelo de nó como qualquer outro campo:
E, em seguida, use um galho de campo para percorrer vários itens de campo:
campo - campo-galeria-images.html.twig
fonte
No D8, pude fazer um loop foreach nas minhas imagens de forma a gerar um carrossel.
fonte