如何从图像数组中填充图像网格
How to fill image grid from array of images
我设计了一个包含 9 张图片的图片网格布局。我想遍历我的图像数组并动态填充网格,以便第 10 个图像开始一个新的网格并且样式像第一个图像,第 11 个图像像第二个图像等等......
该数组并不总是包含 9 的倍数。
这是我目前拥有的:(使用固定的数组索引来显示图像的顺序)
<div class="widget-body">
{% for mediaItem in mediaItems|batch(9) %}
<div class="d-flex flex-wrap">
<div class="col-12 p-0">
<img class="w-100" src="{{ (mediaItems[0].getWebPath()) }}" alt="{{ mediaItems[0].title }}"/>
</div>
</div>
<div class="d-flex flex-wrap">
<div class="col-6 p-0">
<div class="customGrid-background-img customGrid-rectangle" style="background-image: url('{{ (mediaItems[1].getWebPath()) }}')"></div>
</div>
<div class="col-6 p-0">
<div class="d-flex flex-wrap">
<div class="col-6 p-0 customGrid-background-img customGrid-square" style="background-image: url('{{ (mediaItems[2].getWebPath()) }}')"></div>
<div class="col-6 p-0 customGrid-background-img customGrid-square" style="background-image: url('{{ (mediaItems[3].getWebPath()) }}')"></div>
</div>
</div>
</div>
<div class="d-flex flex-wrap">
<div class="col-6 p-0">
<div class="d-flex flex-wrap">
<div class="col-6 p-0 customGrid-background-img customGrid-square" style="background-image: url('{{ (mediaItems[4].getWebPath()) }}')"></div>
<div class="col-6 p-0 customGrid-background-img customGrid-square" style="background-image: url('{{ (mediaItems[5].getWebPath()) }}')"></div>
</div>
<div class="d-flex flex-wrap">
<div class="col-6 p-0 customGrid-background-img customGrid-square" style="background-image: url('{{ (mediaItems[6].getWebPath()) }}')"></div>
<div class="col-6 p-0 customGrid-background-img customGrid-square" style="background-image: url('{{ (mediaItems[7].getWebPath()) }}')"></div>
</div>
</div>
<div class="col-6 p-0">
<div class="customGrid-background-img customGrid-square" style="background-image: url('{{ (mediaItems[8].getWebPath()) }}')"></div>
</div>
</div>
{% endfor %}
</div>
我在 mediaItems
数组中有 10 张图片,这导致网格与前 9 张图片一起显示两次。
我需要对批处理过滤器使用 fill
参数才能使用第二个批处理。
{% for mediaItem in mediaItems|batch(9, 'empty') %}
我还不小心将 mediaItems
用于图像。应该是mediaItem
(例如:background-image: url('{{ (mediaItem[1].getWebPath()) }}')
)
我设计了一个包含 9 张图片的图片网格布局。我想遍历我的图像数组并动态填充网格,以便第 10 个图像开始一个新的网格并且样式像第一个图像,第 11 个图像像第二个图像等等...... 该数组并不总是包含 9 的倍数。
这是我目前拥有的:(使用固定的数组索引来显示图像的顺序)
<div class="widget-body">
{% for mediaItem in mediaItems|batch(9) %}
<div class="d-flex flex-wrap">
<div class="col-12 p-0">
<img class="w-100" src="{{ (mediaItems[0].getWebPath()) }}" alt="{{ mediaItems[0].title }}"/>
</div>
</div>
<div class="d-flex flex-wrap">
<div class="col-6 p-0">
<div class="customGrid-background-img customGrid-rectangle" style="background-image: url('{{ (mediaItems[1].getWebPath()) }}')"></div>
</div>
<div class="col-6 p-0">
<div class="d-flex flex-wrap">
<div class="col-6 p-0 customGrid-background-img customGrid-square" style="background-image: url('{{ (mediaItems[2].getWebPath()) }}')"></div>
<div class="col-6 p-0 customGrid-background-img customGrid-square" style="background-image: url('{{ (mediaItems[3].getWebPath()) }}')"></div>
</div>
</div>
</div>
<div class="d-flex flex-wrap">
<div class="col-6 p-0">
<div class="d-flex flex-wrap">
<div class="col-6 p-0 customGrid-background-img customGrid-square" style="background-image: url('{{ (mediaItems[4].getWebPath()) }}')"></div>
<div class="col-6 p-0 customGrid-background-img customGrid-square" style="background-image: url('{{ (mediaItems[5].getWebPath()) }}')"></div>
</div>
<div class="d-flex flex-wrap">
<div class="col-6 p-0 customGrid-background-img customGrid-square" style="background-image: url('{{ (mediaItems[6].getWebPath()) }}')"></div>
<div class="col-6 p-0 customGrid-background-img customGrid-square" style="background-image: url('{{ (mediaItems[7].getWebPath()) }}')"></div>
</div>
</div>
<div class="col-6 p-0">
<div class="customGrid-background-img customGrid-square" style="background-image: url('{{ (mediaItems[8].getWebPath()) }}')"></div>
</div>
</div>
{% endfor %}
</div>
我在 mediaItems
数组中有 10 张图片,这导致网格与前 9 张图片一起显示两次。
我需要对批处理过滤器使用 fill
参数才能使用第二个批处理。
{% for mediaItem in mediaItems|batch(9, 'empty') %}
我还不小心将 mediaItems
用于图像。应该是mediaItem
(例如:background-image: url('{{ (mediaItem[1].getWebPath()) }}')
)