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.