M T 使用·全部文章列表

2006.12.28

安装MT分页插件遇到的问题

前两天参考YANG KANG的相关文章(能偷懒处且偷懒),成功地安装了Paged Archives分页插件,首先在首页上用了,我是设定显示100篇文章,每页10篇,这样就在BLOG的要目录下产生了index.html……imdex10.html共10个html文件,一切都没有问题。

今天试着把所有文章列表也加上分页,但重建后出现了问题,首页变成了所有文章列表的页面,后来发现Master Archive Index模板生成的10个index.html序列文件也位于BLOG的根目录下,这样就覆盖了主模板生成的文件,当然首页也就变成了所有文章列表的页面了。

知道原因了,让我们来改一下,编辑Master Archive Index模板,将Output File栏加一个路径,使它不位于BLOG根目录,我把它写成了:archives/index.html,重建就OK了。

还要记得改一下首页中所有文章列表的链接,指向新的路径。

另外还发现一个问题就是,所有文章列表在加上分页后也只显示首页所设定的100篇文章了。

在作者的网站上也有以下的文字,可能是不支持吧:
PagedArchives will only work for publishing of the following archive types:

  • Main Index
  • Categories
  • Date-based

2006.12.25

给MT增加所见即所得编辑器

因为在用MT3.2时就用了FCKeditor的所见即所得编辑器,所以升级到3.33后首先整一下这个。
这次用了阿郎的插件,安装超简单。
只有注意一点,在安装插件后,将Settings→New Entry Defaults→

下载插件

2006.12.23

MT升级到3.33了

原来的模板有问题,只有慢慢改了。

2005.11.26

GB2312转换为UTF-8

抽了一点时间将GB2312转成了UTF-8,并对首页排版做了一点小的变动。
编码转换没出现什么大的问题,这里记录一下步骤:
1. 先使用MT的导出功能备份数据。
2. 将导出的TXT文件转换为UTF-8编码备用,我是使用UltraEdit转换的。
3. 修改mt-config.cgi文件,将PublishCharset项设定为UTF-8。
4. 删除MT的所有文章并导入转码后的TXT文档。
5. 重建站点。
转换完成后可能局部地方还会有乱码,这可能是你在以前编辑模板或是系统设置时使用了中文所致,在后台的SETTINGS中将时间格式设置为english,并修改相应的模板即可。

2005.11.21

对日历部分做了小改动

我前面一篇文章“给MT3.2增加年历表”中,日期的链接是直接到了单篇文章,现在来做些小改动,让它链接到当日发表的所有文章页面,也就是日归档模板Date-Based Archive。
编辑主模板,找到日历代码部分的以下代码:

<a href="<$MTEntryPermalink$>">
<strong><$MTCalendarDay$></strong>
</a>

将其修改为:

<a href="<$MTEntryPermalink archive_type="Daily"$>">
<strong><$MTCalendarDay$></strong>
</a>

就行了。

2005.11.20

导入旧的数据

将以前的文章全部导入进来了,接下来再完成几个模板的修改就可以完工了。

给类别增加一个图标续

接着昨天的来。
4. 在首页的导航类别前增加图标。
编辑首页模板,找到以下代码,如果你使用缺省的模板,它大概是这样的:

<MTIfArchiveTypeEnabled archive_type="Category"><div class="module-categories module">
<h2 class="module-header">Categories</h2>
<div class="module-content">
<MTTopLevelCategories>
<MTSubCatIsFirst><ul class="module-list"></MTSubCatIsFirst>
<MTIfNonZero tag="MTCategoryCount">
<li class="module-list-item"><a href="<$MTCategoryArchiveLink$>" title="<$MTCategoryDescription$>"><MTCategoryLabel></a>
<MTElse>
<li class="module-list-item"><MTCategoryLabel>
</MTElse>
</MTIfNonZero>
<MTSubCatsRecurse>
</li>
<MTSubCatIsLast></ul></MTSubCatIsLast>
</MTTopLevelCategories>
</div>
</div>
</MTIfArchiveTypeEnabled>

将其替换为:

<MTIfArchiveTypeEnabled archive_type="Category"><div class="module-categories module">
<h2 class="module-header">Categories</h2>
<div class="module-content">
<MTTopLevelCategories>
<MTSubCatIsFirst></MTSubCatIsFirst>
<MTIfNonZero tag="MTCategoryCount">
<img src="images/<$MTCategoryLabel$>.png" alt="<$MTCategoryDescription$>" title="<$MTCategoryDescription$>" border="0" align="absmiddle" />&nbsp;<a href="<$MTCategoryArchiveLink$>" title="<$MTCategoryDescription$>"><MTCategoryLabel></a><br />
<MTElse>
<img src="images/<$MTCategoryLabel$>.png" alt="<$MTCategoryDescription$>" title="<$MTCategoryDescription$>" border="0" align="absmiddle" />&nbsp;<MTCategoryLabel><br />
</MTElse>
</MTIfNonZero>
<MTSubCatsRecurse>
<MTSubCatIsLast></MTSubCatIsLast>
</MTTopLevelCategories>
</div>
</div>
</MTIfArchiveTypeEnabled>

以上红色的代码即为添加图标的代码,去掉了以前的<ul><li>标签。
5. 在单编文章模板的标题前面加上类别图标。
编辑单编文章模板Individual Entry Archive,找到下面这行:

<h3 class="entry-header"><$MTEntryTitle$></h3>

将其改为:

<h3 class="entry-header"><MTEntryCategories><img src="<$MTBlogURL$>images/<$MTCategoryLabel$>.png" alt="<$MTCategoryDescription$>" title="<$MTCategoryDescription$>" border="0" align="absmiddle" /></MTEntryCategories>&nbsp;
<$MTEntryTitle$></h3>

保存并重建,你的类别图标将出现在标题前面。

给类别增加一个图标

希望给你的类别增加一个个性的图标吗?完全可以办到,如下图所示:



要做的事情不少,慢慢来。
1. 准备n个(n=你的类别数量)11x11pixel的图标,这里图标的命名很重要,因为我们将要使用MT的MTCategoryLabel标签来调用各类别的图标,所以以你的类别名来分别给图标命名,比如你有一个internet的类别,那么这个类别的图标就命名为:internet.png(当然gif和jpg格式都可以),如果你告诉我你是以中文来命名类别的,那可有点难办,我还没想过这个问题。将你的图标上传到你的blog的一个目录,这篇文章里以根目录(就是你的主index.html所在的目录)下的images目录存放图标文件为准。

2. 还需要修改一下样式表,编辑样式表模板,找到以下代码:

.entry-header
{
   margin-top: 0;
   border-left: 5px solid #dae0e6;
   padding: 0 0 0 10px;
   color: #000;
   font-size: 12px;
}

也许你自己已经修改过样式表了,你的代码和上面不一样,不过没关系,我们只需要改动两个地方,使排版更加美观:

.entry-header
{
   margin-top: 0;
   border-left: 0;   //将文章主标题前面的竖条去掉
   padding: 0 0 0 0;   //使图标左对齐
   color: #000;
   font-size: 12px;
   font-weight: bold;   //我设置了标题字体加粗
}

保存并重建样式表
3. 现在来给首页的文章前面加上类别图标,编辑主模板,找到以下代码:

<h3 class="entry-header"><$MTEntryTitle$></h3>

将其修改为:

<h3 class="entry-header">
<MTEntryCategories>
<img src="images/<$MTCategoryLabel$>.png" alt="<$MTCategoryDescription$>" title="<$MTCategoryDescription$>" border="0" align="absmiddle" />
</MTEntryCategories>&nbsp;
<a href="<$MTEntryPermalink archive_type="Individual"$>">
<$MTEntryTitle$>
</a>
</h3>

因为我给文章标题增加了一个链接,所以有下面这样的代码,详情请见我的另一篇文章。

<a href="<$MTEntryPermalink archive_type="Individual"$>"></a>

保存并重建模板,效果应该出来了。
今天太晚了,明天继续讲怎样把图标加到左导航的类别前面,还有修改单篇文章模板的办法。

2005.11.19

给文章增加一个类别链接

在首页文章及单篇文章的底部Posted to行增加一个类别链接,如下图所示:

先来修改首页模板,编辑首页模板,找到以下代码:

<p class="entry-footer">
<span class="post-footers">Posted by <$MTEntryAuthorDisplayName$> at <$MTEntryDate format="%X"$></span> <span class="separator">|</span> <a class="permalink" href="<$MTEntryPermalink$>">Permalink</a>
<MTIfCommentsActive>| <a href="<$MTEntryPermalink$>#comments">Comments (<$MTEntryCommentCount$>)</a></MTIfCommentsActive>
<MTIfPingsActive>| <a href="<$MTEntryPermalink$>#trackback">TrackBacks (<$MTEntryTrackbackCount$>)</a></MTIfPingsActive>
</p>


将其替换为:

<p class="entry-footer">
<span class="post-footers">Posted by <$MTEntryAuthorDisplayName$> on <$MTEntryDate format="%H:%M"$> to <MTEntryCategories glue=" | ">
<a href="<$MTCategoryArchiveLink$>"><$MTCategoryLabel$>
</a></MTEntryCategories></span> <span class="separator">|</span> <a class="permalink" href="<$MTEntryPermalink$>">Permalink</a>
<MTIfCommentsActive>| <a href="<$MTEntryPermalink$>#comments">Comments (<$MTEntryCommentCount$>)</a></MTIfCommentsActive>
<MTIfPingsActive>| <a href="<$MTEntryPermalink$>#trackback">TrackBacks (<$MTEntryTrackbackCount$>)</a></MTIfPingsActive>
</p>


这里顺便修改了时间格式,将缺省的12小时制改成了24小时制。
保存并重建主模板就完成了修改,下面来修改单篇文章模板。


编辑单篇文章模板Individual Entry Archive,找到以下代码:

<p class="entry-footer">
<span class="post-footers">Posted by <$MTEntryAuthorDisplayName$> on <$MTEntryDate$></span>
</p>


将其替换为:

<p class="entry-footer">
<span class="post-footers">Posted by <$MTEntryAuthorDisplayName$> on <$MTEntryDate format="%Y.%m.%d %H:%M"$> to <MTEntryCategories glue=" | ">
<a href="<$MTCategoryArchiveLink$>"><$MTCategoryLabel$>
</a></MTEntryCategories></span>
</p>


这里同样修改了日期和时间格式,以更符合我们中国人的习惯。
为保持一致,我们还需要修改回复的日期和时间格式,同样在这个模板找到以下代码:

<p class="comment-footer">
Posted by:
<$MTCommentAuthorLink default_name="Anonymous"$> <$MTCommentAuthorIdentity$> |
<a href="#comment-<$MTCommentID$>"><$MTCommentDate$></a>
</p>


将代码

<$MTCommentDate$>


改为

<$MTCommentDate format="%Y.%m.%d %H:%M"$>


关于Date的格式,更多的内容详见官方网站。

在首页增加最新回复显示

我们来增加一个在首页显示下面这种格式的最新回复显示:

给文章标题增加Permalinks (3)
sophoto wrote: :) 2.66的时候已经用了,现在边改边写... [more]


编辑首页模板,在合适的位置加入以下代码:

<div class="module-archives module">
<h2 class="module-header">Recently Commented On</h2>
<div class="module-content">
<ul class="module-list">
<MTEntries recently_commented_on="5" sort_order="descend">
<li class="module-list-item">
<a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a> (<$MTEntryCommentCount$>)<br />
<MTComments lastn="1"><$MTCommentAuthorLink spam_protect="1"$> wrote: 
<$MTCommentBody trim_to="35" remove_html="1" convert_breaks="0"$>...
[<a href="<$MTEntryLink$>#c<$MTCommentID$>">more</a>]</li><br /><br />
</MTComments>
</MTEntries>
</ul>
</div>
</div>

这里是设置显示最新的5条,你可以根据自己的需要来修改。