为Movable type 4.2设置漂亮的嵌套式回复
写于2008-12-02 @ 分类:Movable Type |评论(1)
Movable type 4.2后加入了很多机制灵活的标签。对于评论部分也增加不少。今天来看看利用Movable type 4.2自带的标签打造漂亮的嵌套式回复。
很多MT的朋友都羡慕WP拥有很漂亮的嵌套回复,今天看dimlau在博客也提到MT的嵌套回复问题,其实MT是能实现判断奇偶的。
MT的官方有一个很好的教程关于各种评论的样式打造。如果英语好的童鞋可以直接看英文,其实偶英文很烂。
这篇教程是基于Movable type官方的模板"Professional Website"的基础上修改,当然如果你使用自己的MT模板,请根据实际情况修改。
- 进入你的Movable type的后台,选择你所编辑的博客,进入"Design(设计)"-"Templates(模板)"。
- 进入"Template Modules(模板模块)"-"Comments"。
- Movable type的WIKI提供两份详细的模板。
- 对于第一种," Example Code for Hierarchically Threaded comments in MT 4.2"。定义一个变量,然后进行循环嵌套。直接复制其代码,然后在Comments模板中找到<MTComments>和</MTComments>包含的内容,替换掉就可以了。(包含<MTComments>和</MTComments>)。
- 对于第二种," Example Code for Hierarchically Threaded and Nested comments in MT 4.2"。直接利用ul和li的属性,利用多层嵌套来实现。直接复制其代码,将Comments模板中的所有内容覆盖就可以了。
- <div id="comment-<$MTCommentID$>" class="comment<mt:IfCommentParent> comment-reply</mt:IfCommentParent>">
- <div id="comment-<$MTCommentID$>" class="comment<mt:IfCommentParent> comment-reply</mt:IfCommentParent> <mt:If name="__odd__"> odd<mt:Else>even</mt:If>">
第二种,我们不需要修改。这样就可以实现漂亮的"既想嵌套显示又想隔行换色"。


"__even__"和"__odd__ "我是知道的,我正用的模板里也用到了这个来实现隔行换色。
但是我说的既想嵌套显示又想隔行换色,情况是这样的:
一个评论序列:1、2、3、4
如果奇数黑偶数白,则为:黑白黑白
如果评论2是针对1发表的,那么2将会缩进显示在1的下方,此为嵌套
此时除去缩进部分,颜色变成了黑黑白,所以不能称之为隔行换色了。