Посты фотосета, в которых не отображаются анимированные GIF-файлы на Tumblr

#html #tumblr #mustache

#HTML #tumblr #усы

Вопрос:

Хорошо, я вроде знаю, в чем проблема, но мне нужно знать лучшее решение.

Я использую сильно измененную версию этой темы http://kalalalani.tumblr.com /

Мой клиент поднял проблему при повторной публикации фотосетов, содержащих анимированные GIF-файлы. Исходный код (эту часть я никогда не трогал) выглядит так:

  {block:Photoset}
    <li class="photoset">
        {block:Photos}
            {block:HighRes}<p><img src="{PhotoURL-HighRes}" alt="photo"></p>{/block:HighRes}
            {block:Caption}<p>{Caption}</p>{/block:Caption}
        {/block:Photos}
        <p class="meta">
            <a href="{Permalink}">{TimeAgo}</a>
            {block:IfShowNotes}amp;nbsp;/amp;nbsp; <a href="{Permalink}#notes">{NoteCountWithLabel}</a>{/block:IfShowNotes}
            {block:IfDisqusComments}{block:IfDisqusShortname} amp;nbsp;/amp;nbsp; <a class="dsq-comment-count" href="{Permalink}#disqus_thread">{lang:Comments}</a>{/block:IfDisqusShortname}{/block:IfDisqusComments}
            {block:ContentSource}
                amp;nbsp;/amp;nbsp; {lang:Source}: <a href="{SourceURL}">{block:SourceLogo}<img src="{WhiteLogoURL}" width="{LogoWidth}" height="{LogoHeight}" alt="{SourceTitle}" />{/block:SourceLogo}{block:NoSourceLogo}{SourceTitle}{/block:NoSourceLogo}</a></p>
            {/block:ContentSource}
        </p>
    </li>
    {/block:Photoset}
  

Проблема заключается в {PhotoURL-HighRes} для анимированных GIF-файлов такого размера изображения вряд ли существует.

Итак, каково решение по умолчанию. Я пробовал {PhotoURL-500} и {PhotoURL-100}, но, похоже, ни один из них не работает.

Итак

1) Каков наилучший вариант по умолчанию.

2) Есть ли способ написать запасной вариант: поэтому используйте Photo-HighRes, если он существует, или PhotoURL-500 (или что-то по умолчанию), если High-Res не существует.

TIA. Люк

Комментарии:

1. Хммм, у меня что-то работает, используя {LinkOpenTag}<img src=»{PhotoURL-500}» alt=»{PhotoAlt}»/>{LinkCloseTag} вместо блока {block:HighRes} . Я думаю, мне просто нужно добавить немного стиля для фотосетов сейчас.

Ответ №1:

Как вы сказали, наличие запасного варианта было бы наиболее оптимальным решением.
К счастью, {PhotoURL-HighRes} переменная tumblr уже восстанавливается сама по себе, и она автоматически отобразит изображение с максимально возможным для вас разрешением.

Если вы хотите отображать изображение всегда, независимо от его разрешения, просто используйте {PhotoURL-HighRes} как img src .

Что портит этот запасной вариант (а также ваши попытки опробовать другие разрешения), так это блок {block:HighRes}{/block:HighRes} тегов, который, согласно документации, является только Rendered if there is a high-res or panorama photo for a post.

Поэтому, если нет доступного изображения с высоким разрешением (как в случае с большинством GIF-файлов вашего клиента), то весь узел изображения отображаться не будет.

Итак, все, что вам нужно сделать, это удалить окружающие {block:HighRes}{/block:HighRes} теги, и изображение с самым высоким разрешением всегда будет отображаться!

От

 {block:HighRes}<p><img src="{PhotoURL-HighRes}" alt="photo"></p>{/block:HighRes}  

к этому

 <p><img src="{PhotoURL-HighRes}" alt="photo"></p>
  

==============

Обратитесь к официальной документации для получения дополнительной информации.