我喜欢为我构建的页面(供 Facebook、Google 和其他服务使用)填充thumbnail
和元标记,并试图简化我的方法。og:image
我希望在显示没有特定图像资产的页面时指定一个通用的站点范围的图像,同时能够在有保证的情况下指定一个特定的图像(通过embed
变量传递)。
这是我的方法:
{embed="_global/_header" thumbnail="http://mysite.com/images/articles/some-image.jpg"}
然后在_header
:
{if embed:thumbnail}{preload_replace:thumbnail="{embed:thumbnail}"}{/if}
{preload_replace:thumbnail="{site_url}/assets/img/thumbnail.jpg"}
...
<meta name="og:image" content="{thumbnail}" />
<meta name="thumbnail" content="{thumbnail}" />
当我通过 传递缩略图 URL 时,这很有效embed
(因为使用了为preload_replace
变量设置的第一个值,随后的值被忽略),但是当我不传递值时,{thumbnail}
最终为空(而不是使用我分配的{site_url}/assets/img/thumbnail.jpg
值)。
任何人都可以在这里看到我的方法中的错误吗?{thumbnail}
当我没有传递那个嵌入变量时,为什么会在我的条件(最终为空)中被解析?