答读者问——评论楼层和作者突出显示 5
dimlau @ 2007-01-13,17:42,分类于 闲谈博客Jason来信问我:
你的评论对BLOG主人和其他的发表的评论背景做了区分,请问是如果做到的。还有评论的楼层是如何实现的。
其实这个我在以前说过,但是那次并没有单独列出来讲解,而是一带而过的说了一下,所以,这次我仔细说一下,做个备份。
先说简单的,评论的楼层实现方式:
在Movable Type系统标签里有一个<$MTCommentOrderNumber$>标签用来给单篇文章的回复排序,从1开始列出序号,所以只要把这个标签放置于你的模版里的<MTComments>和</MTComments>之间就可以了。举个例子修改后的模版内容类似这样:
<MTIfCommentsActive>
<MTComments>
<a href="#comment-<$MTCommentID$>"># <$MTCommentOrderNumber$></a>
<strong><$MTCommentAuthorLink default_name="匿名人士"$></strong>
<$MTCommentAuthorIdentity$><$MTCommentDate format="%x %X"$>
<$MTCommentBody$>
</MTComments>
</MTIfCommentsActive>
当然,实际应用中的模版应该比上述复杂,但是格式就是这样。
还要注意:这个<$MTCommentOrderNumber$>显示的是页面现实中的从前到后的顺序,所以如果你使用评论倒叙(新评论在上面)的话,效果就不是很好了。
下面说说作者突出显示,还是以最简单的模版内容举例:
<MTIfCommentsActive>
<MTComments>
<div class="comment <$MTCommentAuthor$>" id="c<$MTCommentID pad="1"$>">
<a href="#comment-<$MTCommentID$>"># <$MTCommentOrderNumber$></a>
<strong><$MTCommentAuthorLink default_name="匿名人士"$></strong>
<$MTCommentAuthorIdentity$><$MTCommentDate format="%x %X"$>
<$MTCommentBody$>
</div>
</MTComments>
上述代码中的绿色部分应该是你的模版中有的,我们要做的是添加上述内容的红色部分进去,注意,添加的红色部分之前有一个空格!
其中的红色部分MTCommentAuthor在评论发布后会被解析成评论人的名字,然后,在单篇文章模版的</head>标签前加上类似以下内容:
<style type="text/css" media="screen"><!--
.xxxx{color:#000;background:url(xxx.gif);}
--></style>
其中xxx就是blog主人的昵称,之后,当有人用xxx这个名字发表评论的时候,评论内容就是用黑色字体显示,并且评论区域背景为图片xxx.gif。你可以更改上面的css内容以达到不同效果。
注意,正如你看到的,上面我是说有人,而不一定是blog主人本人。也就是说比如blog主人昵称为xxx那么,所有在评论时填写xxx作为昵称的评论内容都自动套用了定义好了的格式。我想。。。这是MT的一个小小缺陷吧:并不能限制别人使用blog主人的昵称。
ok,本文结束。
本站不欢迎全文转载,如需转载请阅读本站版权声明。http://kaix.in/cgi-bin/mt-tb.cgi/420. Tips:在自己blog里发表针对本文的评论文章时复制上述地址到引用通告栏,你的文章链接就会显示在本页引用列表里。
dimlau.com

Jason
2007-01-13,22:17
Hi dimlau:
“回复之...”非常感谢你的指点,在我给你留言后我在官方持到楼层的实现方法,后来我看了你的源文件,发现你根据不同评论人实现背景的方法。后来在我平生一笑的BLOG发现,他的方法比较独特,还有IKIAS的隔行换色。
最后再次感谢你!