2015-05-03 72 views
4

我是Bolt的新手,我試圖在記錄的圖像列表中獲取圖像的原始寬度。 'image'的變量只包含文件名,標題,ID,順序和文件,所以image.width | image不會執行任何操作。我寧可不使用縮略圖(寬度,高度)方法,除非我可以用它來訪問圖像的全尺寸尺寸,而不是裁剪版本。螺栓:爲圖像列表中的項目獲取imageinfo

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

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

有沒有辦法使用的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 %} 

回答

6

剛剛自己也有同樣的問題,並一直在IRC與螺栓團隊討論這個問題。由於imagelist會返回一個數組,而不僅僅是一個文件名,所以您需要使用filename屬性作爲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 %} 
+0

謝謝你,我發現這是很有幫助 – esd

+0

這應該是公認的答案,因爲它工作得很好。 – anteatersa

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