Bolt:为图像列表中的项目获取图像信息

Bolt: fetch imageinfo for items in imagelist

我是 Bolt 的新手,我正在尝试获取记录图像列表中图像的原始宽度。 'image' 的变量只包括文件名、标题、id、顺序和文件,所以 image.width|image 什么都不做。我宁愿不使用 thumbnail(width, height) 方法,除非我可以用它访问图像的完整尺寸,而不是裁剪后的版本。

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

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

有没有办法在 imagelist 循环中使用 imageinfo() 来获取宽度和高度,或者有更好的方法吗?感谢您的帮助!

{% 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 %}

我自己也遇到了同样的问题,并且一直在 irc 上与螺栓团队讨论这个问题。由于图像列表 returns 是一个数组,而不仅仅是文件名,因此您需要使用文件名 属性 作为 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 %}
{% for image in project.imagelist %}    
{% set exif_data = imageinfo(image).info.exif %}
// extract what data you want from the EXIF object for each image