Болт: получить информацию об элементах в списке изображений

Я новичок в Bolt и пытаюсь получить исходную ширину изображения в списке изображений записи. Переменные для ‘image’ включают в себя только имя файла, заголовок, id, порядок и файл, поэтому image.width | image ничего не делает. Я бы предпочел не использовать метод миниатюр (ширина, высота), если я не могу получить доступ к полноразмерным размерам изображения, а не к обрезанной версии.

https://docs.bolt.cm/record-and-records#imagelist

https://docs.bolt.cm/templatetags#imageinfo

Есть ли способ использовать imageinfo () в цикле imagelist, чтобы получить ширину и высоту, или есть лучший способ сделать это? Спасибо за вашу помощь!

{% setcontent myprojects = 'projects' %}
{% for project in myprojects %}
<div class="slide">
{% for image in project.imagelist %}
<img src="{{ image.filename|image }}" width="{{ image.width|image }}" height="{{ image.height|image }}">
{% endfor %}
</div>
{% endfor %}

4

Решение

Просто у меня была такая же проблема, и я обсуждал это с командой болтов. Поскольку список изображений возвращает массив, а не просто имя файла, вам необходимо использовать свойство имени файла в качестве параметра для imageinfo.

Я делаю следующее в моем шаблоне, аналогичный подход должен решить вашу проблему:

{% for galleryImage in record.gallery %}
<li>
<a href="{{ imageinfo(galleryImage.filename).url }}" title="{{ galleryImage.title }}">
{% if imageinfo(galleryImage.filename).landscape %}
<img src="{{ thumbnail(galleryImage, 0, 240) }}" class="landscape">
{% elseif imageinfo(galleryImage.filename).portrait %}
<img src="{{ thumbnail(galleryImage, 0, 240) }}" class="portrait">
{% else %}
<img src="{{ thumbnail(galleryImage, 240, 240) }}" class="square">
{% endif %}
</a>
</li>
{% endfor %}
6

Другие решения

{% for image in project.imagelist %}
{% set exif_data = imageinfo(image).info.exif %}
// extract what data you want from the EXIF object for each image
0

По вопросам рекламы [email protected]