我正在Craft CMS中建立内容网站。我使用单个条目来输出图像,但是在将Craft升级到3.2.1之后,此方法不起作用。其他一切都很好。
我收到此错误: Twig运行时错误– Twig \ Error \ RuntimeError 具有类“ craft \ elements \ db \ AssetQuery”的ArrayAccess的对象中的键“ 1”不存在。
<div class="detail_content_photos3 row">
<div class="detail_content_photos3_photo col-xs-12 col-md-4">
<img src="{{ entry.videoPhoto3x3[0].url }}"/>
</div>
<div class="detail_content_photos3_photo col-xs-12 col-md-4">
<img src="{{ entry.videoPhoto3x3[1].url }}"/>
</div>
<div class="detail_content_photos3_photo col-xs-12 col-md-4">
<img src="{{ entry.videoPhoto3x3[2].url }}"/>
</div>
<div class="detail_content_photos3_photo col-xs-12 col-md-4">
<img src="{{ entry.videoPhoto3x3[3].url }}"/>
</div>
<div class="detail_content_photos3_photo col-xs-12 col-md-4">
<img src="{{ entry.videoPhoto3x3[4].url }}"/>
</div>
<div class="detail_content_photos3_photo col-xs-12 col-md-4">
<img src="{{ entry.videoPhoto3x3[5].url }}"/>
</div>
</div>
答案 0 :(得分:0)
之所以发生这种情况,是因为该条目没有分配给该字段的6张图像,只有1张,即键0。当树枝尝试访问不存在的第二张图像时,它将引发运行时错误。如果要显示所有图像,可以执行以下操作:
<div class="detail_content_photos3 row">
{% for image in entry.videoPhoto3x3.all() %}
<div class="detail_content_photos3_photo col-xs-12 col-md-4">
<img src="{{ image.url }}"/>
</div>
{% endfor %}
</div>
通过{% for image ... %}
,您可以访问每个资产,而无需知道其索引或有多少等等。