Ich habe eine Zweigvorlage für einen benutzerdefinierten Inhaltstyp. Und es ist in der Lage, die meisten Felder einwandfrei zu rendern, aber ich kann kein Bildfeld mit mehreren Bildern drucken.
node - mycontenttype.html.twig enthält
{{ 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 und content._field_myheaderimage geben den Titel und das Bild einwandfrei aus. Aber wenn ich die for-Schleife benutze
{% for galleryimage in content.field_gallery_images %}
<div class="gallery-image-item"> {{ galleryimage }} </div>
{% endfor %}
Ich erhalte eine Fehlermeldung
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).
Wenn ich nur benutze
{{ content.field_gallery_images }}
Es ist in der Lage, jedes Bild auszugeben, aber dies erlaubt mir nicht, jedes Element in Divs zu verpacken und jedem Inhalt hinzuzufügen.
Antworten:
Drucken Sie das Bildfeld in der Knotenvorlage wie jedes andere Feld:
Verwenden Sie dann einen Feldzweig, um mehrere Feldelemente zu durchlaufen:
field - field-gallery-images.html.twig
quelle
Auf D8 konnte ich eine foreach-Schleife für meine Bilder erstellen, um ein Karussell zu erzeugen.
quelle