Movable Type 系统里的模板是让你定义及设计站点版面的方法。模板中会描述你要把内容(也就是你的文章项目和归档)放在哪里、它们看起来会像怎样之类的事。通常你的模板会以 HTML 格式撰写,混杂着 Movable type 模板标记及变量(请见模板标记小节);不过这并不是什么技术上的限制。实际上你可以使用 Movable Type 来产生纯文字、内嵌服务器端档案的 HTML 、 PHP 或任何其它用纯文字建立出来的语言。
你可以编辑网志所用到的模板,或者是定义新的模板。首先登录 Movable Type ,然后选择某个网志,再按下列出及编辑模板。
在 Movable Type 里有数种不同类别的模板:
索引模板会列出你主要的文章项目。跟其它出版管理系统很不一样的是, Movable Type 支持多重索引模板;这表示说你可以把主要的文章项目清单出版成多种不同的格式。例如说,除了一份 HTML 格式的清单之外,还有一份 XML 格式的清单。在预设的情况下,索引模板只会显示最近 N 天内的文章项目;这里的 N 乃是定义在你的网志配置里的。例如说,如果你把主索引的文章显示天数设定成 7 的话, Movable Type 预设就会在你的所有的索引模板中显示最近 7 天的文章项目。请注意这里的 7 天指的是连续的 7 天,而不是你有发表文章才算进去的 7 天。所以在过去 7 天中,如果你只有在其中 3 天有发表过文章,那么就只有这三天的文章会被列出在你的主索引里。
就如同之前的其它章节所提过一般,这个只显示最新 N 天的文章仅只是预设的索引模板行为;然而这个行为却是可以用 MTEntries标记(详见后述)来自由修改的。所以你可以指定你的 RSS 索引(用于 RSS 串联之用)固定显示最新的 15 个文章项目,而不顾日期的新旧。
归档模板定义着你的网志归档看起来的样子以及风格。对于你所选择的每一种归档类型(请见归档小节)来说,你都可以把多个归档模板关联到同一个归档类型上;所以你就可以让同一组归档项目有不同的『样子』。举例来说,你可能会想要为你的逐月归档建立两种不同的样子:一种是在一个页面上包含有当月所有的文章项目,而另一种是那个月的月历检查。或者你也可以用不同的模板来做出高保真跟低保真版本的归档。
当某个归档类别被重建的时候,所有跟那个归档类别相关联的归档模板也会跟着被重建 -- 所以你可以用相同的归档项目来自动维护数种不同的样子。
Movable Type 发行的时候就附上了三种不同的归档模板:一种是给时序归档(逐月、逐周和逐日)用的,一种是给分类归档用的,还有一种是给单篇归档用的。
如果你要定义新的归档模板,就到列出及编辑模板,然后按下建立新的归档模板。先为这个模板命名,然后用 Movable Type. 模板标记来定义归档页面的版面安排。在你存好新的归档模板后,还要到网志配置的归档区段,按下新增...按钮,接着在弹出式窗口中,从模板:下拉式选单里选择你刚刚新增的那一个模板,再从归档类别:选单里选择要与之关联的归档类别。最后再按下增加。
Movable Type 允许你把一些常用的 HTML 码片段摘取出来当作某种模板,然后让其它的模板也能够包括取用。在 Movable Type 里,这些常用模板被称做模板模块。举一个常见的例子,你可以有一个模板,其内容是你整个站点所有文件都会用到的头部文件;在这种情况下,你可以新增一个称做
Header 的模板模块,在里面贴上常用的头部文件代码,然后把这个新模版存起来。再来你就可以用 MTInclude
标记来让所有其它的模板都可以包括取用这些头部文件代码。就像这样:
<$MTInclude module="Header"$>
这个标记之后会被 Header 自定义模板的内容给替换。
这可以让你把所有常用的码都放在一起,所以当你要加以修改的时候,就只需要改一次就可以了。
有一些模板并不适用于索引模板、归档模板或自定义模板。目前在这个类别里的模板有:
跳出已上传图像模板的版面安排过的话,就会自动产生出一个用弹出式窗口显示这个图片的 HTML 档案。在这个模板中,你有三个模板标记可以加以利用: <$MTImageURL$> 、 <$MTImageWidth$> 和
<$MTImageHeight$> 。
从列出及编辑模板界面中选择要编辑的模板-- 不论是从索引模板中点击模板名称,还是从归档模板或其它模板中点击相对应的编辑按钮
-- 之后,都会出现一个编辑模板界面。根据你所编辑的模板类别或者模板模块的不同,这个模版编辑界面会有一些不一样。例如说,只有在索引模板中,你才能够指定输出档案。
以下是你可能在编辑模板界面中所会看到的字段:
列出及编辑模板界面中用作分辨之用。除此之外,当你用了 <MTInclude>
来包括模板模块时,你也需要指定那个模版模块的名称。这个名称就是你该填在这儿的东西。
只有索引模板和模板模块的名称才可以加以编辑,至于归档模版和其它模版的名称则会自动指定。
输出档案只是用于索引模板。你可以用相对于本机站点路径的相对路径(例如 file.html )或是从整个档案系统的根目录而来的完整路径(例如 /full/path/to/file.html )。
于是你可以把自动重建索引档案的功能关掉。一旦你这么做了,那么唯一重建索引档案的方法就是从列出及编辑模板界面中点选模板名称,然后按下在文字编辑对话盒下方的重建按钮。这个举动会强迫重建该索引模板。
这个要被链接的档案名可以是档案系统上的完整路径,也可以是你的网志的本机站点路径的相关路径。这个档案的扩展名不能够是:
.cgi 、 .pm 、 .pl 或 .cfg ;一方面是为了安全考虑,另一方面是为了要防止你覆写掉
Movable Type 的执行文件。举例来说,如果你想要用外部编辑器来维护你的主索引模板,你可能会把这个档案与 index.html.tmpl
链接在一起。然后你就可以编辑这个外部档案,再存到你的网页服务器上;接着当你重建的时候, Movable Type 就会从这个被链接的 index.html.tmpl
取得最新的版本,然后用来当成模板(同时他也会更新你的 Movable Type 数据库中的模板,所以下一次用到的时候,就可以直接从数据库里取用)。
注意:当你建立新模板的时候,如果还没有输入任何模板本体,而又把他链接到某个外部档案时,这个外部档案的内容就会被抓进模板里;然而如果你有输入任何模板本体,而被链接的外部档案又已经存在了的话,这个被链接的外部档案就会被你输入的模板本体所覆写。
把模板链接到某个外部档案仅是选用的功能,如果你愿意,只用 Movable Type 自己来维护所有的模板也很好。
Movable Type 发行的时候附上了一组可以用样式表加以自定义的模板;藉由修改样式,相同的模板也可以有全然不同的样子。你可以在 http://www.movabletype.org/default_templates.shtml 看到所有的预设模板。
如果想为你的网志选择新的样式,请遵照以下的指引:
列出及编辑模板。
样式表的模板;开启并编辑这个模板。
模板本体对话盒中。
保存按钮来保存新的样式表。
重建的链接,并从下拉式选单中选择仅重建索引,再按下重建按钮。
请注意:有些浏览器(例如 Windows 上的 Internet Explorer )一旦从某个网页服务器上取得样式表后,就会拒绝重新加载样式表;在这种情况下,当你检查你的站点时,你会发现什么都没变。这时你应该要清空浏览器的缓存然后再试一次。