可移动类型4:IF / Else逻辑“如果进入”

时间:2010-11-17 16:17:00

标签: movabletype

我想在Meta描述(位于Banner Header)标签中包含具有以下效果的逻辑:

if rendering an Entry:

     <meta name="description" content="<$mt:EntryBody words="25"$>..." />
else:

     <meta name="description" content="<$mt:BlogDescription$>" />

感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

您需要mt:IfArchiveType块标记。

<mt:IfArchiveType archive_type="individual">
  <meta name="description" content="<$mt:EntryBody remove_html="1" words="25" encode_html="1"$>..." />
<mt:Else>
  <meta name="description" content="<$mt:BlogDescription remove_html="1" encode_html="1"$>" />
</mt:IfArchiveType>

我冒昧地添加了一些方便的modifiers,这有助于避免无效输出。

答案 1 :(得分:0)

如果你知道只有 进行一次测试,如果存档类型没问题。
另一方面,使用元描述,你很可能想要在类别页面上做一些不同的事情,比如说。虽然您可以为每个测试堆积单独的IfArchiveType测试,但您最好熟悉archive template variables(除此之外还提供更多信息)并使用广义的If / Else | If标记:

<mt:if name="entry_archive">
    <meta name="description" content="[Entry archive-specific description]" />
<mt:elseif name="category_archive">
    <meta name="description" content="[Category archive-specific description]" />
<mt:else>
    <meta name="description" content="[Site-wide fallback description]" />
</mt:if>

...然后可以使用Var标签进一步清理:

<mt:if name="entry_archive">
    <$mt:var name="metaDesc" value="[Entry archive-specific description]"$>
<mt:elseif name="category_archive">
    <$mt:var name="metaDesc" value="[Category archive-specific description]"$>
<mt:else>
    <$mt:var name="metaDesc" value="[Site-wide fallback description]"$>
</mt:if>

<meta name="description" content="<$mt:var name="metaDesc"$>" />

[为了清楚起见,我省略了Mike添加的修饰符,但是包含它们是个好主意。]