我有一个用于自定义内容类型的树枝模板。它能够渲染大多数字段,但是我无法打印包含多个图像的图像字段。
节点--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循环时
{% 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中并向每个项目添加内容。
以下来自@ 4k4的答案具有许多优点,但是为了您的理智,将其替换为“ for”循环中的node.field_gallery_images的content.field_gallery_images将为您提供循环中的每个图像实体。
—
RominRonin