SonataMediaBundle получает ширину и высоту изображения

У меня есть изображение в моем шаблоне:

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

Как я могу получить ширину и высоту этого изображения?


person Vladimir Shevelyov    schedule 09.01.2017    source источник


Ответы (1)


Я не знаю, какой ответ вы ищете, так как на этот вопрос можно ответить по-разному, поэтому я пытаюсь ответить на все эти способы.


Геттеры для медиа-объектов

Если вы просто заинтересованы в получении значений из вашего медиа-объекта, вы можете просто позвонить:

{{ picture.media.width }}
{{ picture.media.height }}

Медиа-рендеринг

Расширение Sonata twig для рендеринга мультимедиа автоматически добавит ширину/высоту к вашему html.

<!-- twig -->
{% media picture.media, 'reference' %}

<!-- renders -->
<img src="path/to/media" alt="media" width="256" height="256" />

Медиа-контексты

Он всегда будет отображать полный медиафайл, независимо от его размера. Делая то же самое с тегом эскиза, предоставленным SonataMedia, вы можете определить разные размеры, которые будут отображаться в размере, который вы бы настроили. Взгляните на введение в настройку контекста SonataMedia.

# 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" />
person Michael Hirschler    schedule 09.01.2017
comment
Большое спасибо. Это именно то, что я искал! - person Vladimir Shevelyov; 10.01.2017