织梦DedeCMS评论加入楼层显示方法

网络整理 - 07-21

首先织梦v5.7版本的评论是ajax形式动态引用,所以我们直接打开plus/feedback_ajax.php,这个文件就是织梦默认评论显示的文件。
找到

function GetList($page=1) { global $dsql, $aid, $pagesize, $cfg_templeturl,$cfg_cmspath;

然后将下面global定义语句添加几个新变量

global $dsql, $aid, $pagesize, $cfg_templeturl,$cfg_cmspath,$n,$x,$floor;

然后找到

$totalcount = (empty($row['dd']) ? 0 : $row['dd']);

在其下添加

$lou = (empty($row['dd']) ? 0 : $row['dd']); //解释:定义变量lou=所有留言总数

再找到

$fields['face'] = empty($fields['face']) ? 6 : $fields['face']; $fields['msg'] = str_replace('<', '&lt;', $fields['msg']); $fields['msg'] = str_replace('>', '&gt;', $fields['msg']);

在其下添加

/*楼层号码*/ $n=$lou--; //让变量$n=所有留言总数递减 $curpage = empty($page) ? 1 : intval($page); //调出$curpage= 当前第几页 $x=$n-($curpage-1)*$pagesize; //让变量$x=变量$n-(当前页-1)×每页显示留言数 if ($x==1){ $floor = "沙发" ; } else if ($x==2){ $floor = "板凳" ; } else if ($x >=3 ) { $floor = $x."楼" ; } /*end楼层*/

最后在评论输出的循环部分修改加入$floor的调用即可

<div> <a href='<?php echo $spaceurl; ?>'><img src='<?php echo $mface;?>'/></a> <ul> <span><a href="<?php echo $spaceurl; ?>"><?php echo $username; ?></a>发表于<?php echo GetDateMk($dtime); ?></span> <p><?php echo ubb($msg); ?></p> <span> <?php echo $floor; ?> </span> </ul> </div>

至此就修改好了,demo可参考本站的评论,以下为进阶讨论,可忽略.
只是现在我还有一个问题没有解决,那就是评论的倒序显示。如果只是简单的倒序显示评论,不管刚刚添加的楼层数的话只需要去除几个字母即可,

$querystring = "SELECT fb.*,mb.userid,mb.face as mface,mb.spacesta,mb.scores,mb.sex FROM `zmb_feedback` fb LEFT JOIN `zmb_member` mb on mb.mid = fb.mid WHERE fb.aid='$aid' AND fb.ischeck='1' ORDER BY fb.id DESC";

把上边的desc删除即可实现评论的倒序排序。