Movable Type 使用手册:模板标记

« 目录


模板标记

Movable Type 的模板是把一些特殊的标记嵌入标准的纯文字片段(在这种情况下也有可能是 HTML )。某些标记是所谓的『容器』标记,里面盛装着可以称之为子模板的东西,实际上就是在两个 MT 标记间夹着其它的文字和 MT 标记。基本上你可以把容器标记想成是一种循环或者是一种条件区块。

其它非容器标记其实就只是变量标记:它们是动态信息的路霸,先占住那个位置等着真正的数据出现。

所有的 Movable Type 标记都被小于符号和大于符号给包起来,就跟 HTML 标记一样。你可以选择性地在这些符号内再插入一个 $ 符号,就像这样:

<$MTEntryBody$>

因此你可以很快地区别某个标记到底是 HTML 标记还是 Movable Type 标记。

Movable Type 标记会用属性来修改它们的作用。标记属性就跟 HTML 标记属性很像:它们是一连串的 名称="值" 配对,彼此之间再以空白隔开。例如说:

<MTEntries author="Foo" category="Bar">

(请查阅 MTEntries 文件来看看这样做到底有什么用。)

属性的值必须用引号包起来,否则会没办法被正确解读。如果你要在某个插入 $ 字符的标记中加入属性,那么你也应该把属性放在两个 $ 之间。例如:

<$MTEntryDate format="%B %e, %Y"$>

有一些标记属性是全域性的,因此可以套用在所有的 Movable Type 变量代换标记上。全域属性会在后面的全域标记属性小节讨论到。至于其它的属性则具有标记专一性,只能套用在特定的标记上;这些属性将会在后面随着那些标记一起列出。

还有一些 Movable Type 标记是对上下文具有敏感性的。例如, MTComments 标记只有在特定的文章项目的特定环境中使用才有意义:比如在回复弹出模板中,或者是设计用于单篇文章归档的归档模板中。

网志数据

文章项目列表/归档页面

回复

预览回复

当你做出回复预览模板的时候,你应该要采用下列这些标记。这些标记全部都跟前述的回复小节里名称相近的标记作用相仿;唯一的不同是这些标记只能用于预览之用,而不是用在 <MTComments> 区块中。

归档模板及归档总索引

下列的模板标记和变量适用于你的归档页面及归档总索引。

与分类相关的标记

接下来这些标记可以用来显示网志上的类别清单,以及每一个类别的信息( ID 、标记等)。

日历显示标记

下列的标记可以用来在你的文章项目里画出日历。事实上并没有任何限制说你一定得要用 HTML 的表格来画出日历;这些标记完全是泛用型的,因此你可以利用它们来做出各种迥然不同样子的日历。

这里是一个标准的日历显示组成,会显示出目前的月份。

<table border="0" cellspacing="4" cellpadding="0" summary="Monthly calendar">
<caption><$MTDate format="%B %Y"$></caption>
<tr>
<th abbr="星期日" align="center">Sun</th>
<th abbr="星期一" align="center">Mon</th>
<th abbr="星期二" align="center">Tue</th>
<th abbr="星期三" align="center">Wed</th>
<th abbr="星期四" align="center">Thu</th>
<th abbr="星期五" align="center">Fri</th>
<th abbr="星期六" align="center">Sat</th>
</tr>
<MTCalendar>
<MTCalendarWeekHeader><tr></MTCalendarWeekHeader>
<td <MTCalendarIfToday>bgcolor="#EEEEEE"</MTCalendarIfToday> align="center">
<MTCalendarIfEntries><MTEntries lastn="1"><a href="<$MTEntryLink$>"><$MTCalendarDay$>
</a></MTEntries></MTCalendarIfEntries>
<MTCalendarIfNoEntries><$MTCalendarDay$></MTCalendarIfNoEntries>
<MTCalendarIfBlank>&nbsp;</MTCalendarIfBlank></td>
<MTCalendarWeekFooter></tr></MTCalendarWeekFooter>
</MTCalendar>
</table>

请注意:计算出日历显示的代价相当高昂,所以如果你想要在网站上的每一页都摆上同样的日历,比较好的作法是在索引模板里建立一个日历,然后用服务器端的包括功能或者是 PHP (或者是任何动态的网页服务器工具)来把这个档案包括到你的每一页里。

引用功能标记

有一些标记是和引用功能系统有关的。

搜索结果标记

下列这些标记只能用于你的搜索模板里。

其它标记

这些标记并不适合放在上述任何一类里。

全域标记属性

全域标记属性可以被用于任何变量代换标记(会被代换成某个值的标记 -- 这种标记的对比就是会『容纳』其它组成元素和标记的容器标记)。然而这并不意味着当它们被使用于任何标记里,都必须有意义;实际上使用者得自己判断特定的标记属性是否在实做上有意义。

全域属性的用法就跟标记专一属性的用法一样:在标记里使用 name="value" 配对。例如:

<$MTEntryExcerpt encode_html="1"$>

这个标记会被替换成以 HTML 编码过的文摘。

以下是全域标记属性的清单:

日期标记格式

Movable Type 用了标准的 strftime 格式字符串来描述日期和时间。(然而,请注意 strftime 本身并不真的是用来执行格式的。)在任何的日期标记里,你都应该可以用 format 属性来指定格式字符串,就像这样:

<$MTDate format="%B %e, %Y %I:%M %p"$>

上面这个格式正是英文日期的预设格式,会做出这样的日期:

September 20, 2001 11:44 PM

你可以在网志配置的显示日期的语言里面选取不同的语言,这个语言会被套用在周里的名称、月份的名称和上午/下午的说明。预设的语言是英文

你也可以用 language 属性来指定语言,覆写掉预设的设定;这只会套用在你正在制订格式的那个日期字符串上。以下是可用的语言标记清单: czdknlenfrdeisjpitnoplptsiesfise

以下则是格式说明清单。

注意:自 Movable Type 2.0 版起,就不再提供 %Z 这个格式组件了;如果你需要用到时区的话,请参照 <$MTBlogTimezone$> 标记。


Copyright © 2001-2003 Six Apart. All Rights Reserved.
Back to www.gccgle.com