我的模板中有一张图片:
{% media picture.media, 'reference' %}
如何获得该图像的宽度和高度?
答案 0 :(得分:3)
我不知道你正在寻找哪个答案,因为这个问题可以用不同的方式回答,所以我试图回答所有这些问题。
如果您只想从媒体对象中获取值,则只需调用:
即可{{ picture.media.width }}
{{ picture.media.height }}
Sonata用于渲染媒体的twig-extension将自动为你的html添加宽度/高度。
<!-- twig -->
{% media picture.media, 'reference' %}
<!-- renders -->
<img src="path/to/media" alt="media" width="256" height="256" />
无论大小如何,它都将始终呈现完整的媒体文件。 使用SonataMedia提供的缩略图标签执行相同操作,可以定义不同尺寸,而不是您将配置的尺寸。看看introduction to SonataMedia's context configuration。
# app/config/config.yml
sonata_media:
contexts:
news:
formats:
small: { width: 100 , quality: 70}
big: { width: 500 , quality: 70}
<!-- twig -->
{% thumbnail picture.media, 'small' %}
<!-- renders (note, height will be recalculated automatically by it's ratio) -->
<img src="path/to/media" alt="media" width="100" height="100" />