好的,我知道问题所在,但我需要知道最佳解决方案。
我正在使用此主题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} / <a href="{Permalink}#notes">{NoteCountWithLabel}</a>{/block:IfShowNotes}
{block:IfDisqusComments}{block:IfDisqusShortname} / <a class="dsq-comment-count" href="{Permalink}#disqus_thread">{lang:Comments}</a>{/block:IfDisqusShortname}{/block:IfDisqusComments}
{block:ContentSource}
/ {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(或任何默认值)。
TIA。 路加
答案 0 :(得分:1)
就像你说的那样,有一个后备将是最理想的解决方案
幸运的是,tumblr的{PhotoURL-HighRes}
变量已经自行恢复,它会自动显示最高分辨率的图像。
如果您想要始终显示图片,无论其分辨率如何,只需使用{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>
==============
有关信息,请参阅official documentation。