1

我正在 Craft CMS 中建立一个内容网站。我使用单个条目来输出图像,但是在我将 Craft 更新到 3.2.1 之后,这不起作用。其他一切工作正常。

我收到此错误:Twig Runtime Error – 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>
4

1 回答 1

0

发生这种情况是因为该条目没有分配给该字段的 6 个图像,只有 1 个,这是关键零。当 twig 尝试访问不存在的第二张图像时,它会引发运行时错误。如果要显示所有图像,可以执行以下操作:

<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 ... %}而无需知道其索引或有多少等。

于 2019-07-18T20:53:36.197 回答