一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

Typecho实现评论无限嵌套显示实例

时间:2013-10-28 编辑:简简单单 来源:一聚教程网

好吧,写下这个题目我就觉得好像又没什么可说的,所以我估计会写的很简略。。。谁叫我就是个懒胖子呢。。。

评论列表的输出,官方的是下面这个样子的

 代码如下 复制代码

listComments(); ?>

官方的输出在定义CSS的时候有点别扭,所以很多主题都用到了蚂蚱的那篇《自定义评论列表的样式》中的方法(蚂蚱是大神啊~~)

接下来的内容是基于蚂蚱的代码

嗯,废话了这么多,先上一下效果,就是下图这个样子的,第一次回复缩进,第二层之后便不再缩进,保持对齐

Typecho实现评论无限嵌套

下面说实现方法

首先看蚂蚱原来的一段代码:

 代码如下 复制代码
    $commentClass = '';
    if ($comments->authorId) {
        if ($comments->authorId == $comments->ownerId) {
            $commentClass .= ' comment-by-author'; 
        } else {
            $commentClass .= ' comment-by-user'; 
        }
    }
    $commentLevelClass = $comments->_levels > 0 ? ' comment-child' : ' comment-parent'; 
?>  
 
 
  • 这一段是判断评论 ID,父级评论还是子级评论以及判断评论 ID 的奇偶数什么的,其实就在子评论部分加一层深度的判断就可以了

    修改后的代码如下:

     代码如下 复制代码

        $commentClass = '';
        if ($comments->authorId) {
            if ($comments->authorId == $comments->ownerId) {
                $commentClass .= ' comment-by-author'; 
            } else {
                $commentClass .= ' comment-by-user'; 
            }
        }
        $commentLevelClass = $comments->_levels > 0 ? ' comment-child' : ' comment-parent'; 
        $depth = $comments->levels +1; //添加的一句
    ?> 
     
     

  • 其实就是一句话的事,就是加了个判断,子评论中是否深度超过了2,然后给一个不同的id来定义样式,我还假装像模像样的搞了篇文章出来,好吧,我就是个水货。。。。。

    热门栏目