【发布时间】:2017-05-23 11:32:35
【问题描述】:
我的模板中有一张图片:
{% media picture.media, 'reference' %}
如何获取该图像的宽度和高度?
【问题讨论】:
标签: symfony sonata sonata-media-bundle
我的模板中有一张图片:
{% media picture.media, 'reference' %}
如何获取该图像的宽度和高度?
【问题讨论】:
标签: symfony sonata sonata-media-bundle
我不知道你在寻找哪个答案,因为这个问题可以用不同的方式来回答,所以我试图回答所有这些方式。
如果您只想从您的媒体对象中获取值,您只需调用:
{{ 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 提供的 thumbnail-tag 执行相同的操作可以让您定义不同的大小,而不是按照您配置的大小呈现。看看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" />
【讨论】: