SonataMediaBundle获取图像宽度和高度

时间:2017-01-09 08:46:13

标签: symfony sonata sonata-media-bundle

我的模板中有一张图片:

{% media picture.media, 'reference' %}

如何获得该图像的宽度和高度?

1 个答案:

答案 0 :(得分:3)

我不知道你正在寻找哪个答案,因为这个问题可以用不同的方式回答,所以我试图回答所有这些问题。

媒体对象上的Getters

如果您只想从媒体对象中获取值,则只需调用:

即可
{{ 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" />