0

SonataMediaBundle のサムネイルの意味は何ですか?それは画像、キャッシュ内の画像、サイズ変更された画像ですか? 特にテンプレートで:

サムネイルをレンダリングするの違いは何ですか:

{% thumbnail media, 'small' %}

と :

{% media media, 'small' %}

同じもの、つまり画像をレンダリングします。

タナクス!

4

1 に答える 1

1

この種の疑問を理解する最善の方法は、ソース コードを確認することです。

メディア
https://github.com/sonata-project/SonataMediaBundle/blob/master/Twig/Extension/MediaExtension.php#L69

サムネイル
https://github.com/sonata-project/SonataMediaBundle/blob/master/Twig/Extension/MediaExtension.php#L123

およびテンプレート:
https://github.com/sonata-project/SonataMediaBundle/blob/master/Resources/views/Provider/thumbnail.html.twig

テンプレートフォルダーからわかるように:
thumbnail.html.twig

<img {% for name, value in options %}{{name}}="{{value}}" {% endfor %} />

サムネイル拡張子は、メディアのサムネイル画像を表示します

代わりに、表示したいメディアに基づいて、メディア拡張機能が適切なテンプレート (view_dailymotion.html.twig、view_file.html.twig、view_image.html.twig、view_vimeo.html.twig、view_youtube.html.twig) を読み込みます。 「本物の」メディアを見せる

メディアが写真の場合、両方で同じ結果が得られます

{% thumbnail media, 'small' %}  

{% media media, 'small' %}  

実際、 view_image.html.twigのテンプレートは次のとおりです。

<img {% for name, value in options %}{{ name }}="{{ value }}" {% endfor %} />

代わりに、メディアが youtube メディアの場合は
view_youtube.html.twig

{% if options.html5 %}
    <iframe width="{{ options.player_parameters.width }}" height="{{ options.player_parameters.height }}" src="//www.youtube.com/embed/{{ media.providerreference }}?{{ options.player_url_parameters }}" frameborder="{{ options.player_parameters.border }}"{% if options.player_parameters.allowFullScreen %} allowfullscreen{% endif %}></iframe>
{% else %}
    {% if options.player_parameters.allowFullScreen %}
        {% set allowFullScreen = "true" %}
    {% else %}
        {% set allowFullScreen = "false" %}
    {% endif %}
    <object width="{{ options.player_parameters.width }}" height="{{ options.player_parameters.height }}">
        <param name="movie" value="//www.youtube.com/v/{{ media.providerreference }}?{{ options.player_url_parameters }}"></param>
        <param name="allowFullScreen" value="{{ allowFullScreen }}"></param>
        <param name="allowscriptaccess" value="{{ options.player_parameters.allowScriptAccess }}"></param>
        <param name="wmode" value="{{ options.player_parameters.wmode}}">

        <embed
            src="//www.youtube.com/v/{{ media.providerreference }}?{{ options.player_url_parameters }}"
            type="application/x-shockwave-flash"
            allowscriptaccess="{{ options.player_parameters.allowScriptAccess }}"
            allowfullscreen="{{ allowFullScreen }}"
            width="{{ options.player_parameters.width }}"
            height="{{ options.player_parameters.height }}"
            wmode="{{options.player_parameters.wmode}}">
        </embed>
    </object>
{% endif %}
于 2014-07-15T15:09:07.567 に答える