中国建设积分商城网站,网站 分辨率,郑州网站建设及托管,一家企业如何做网站推广在官方的wiki中#xff0c;针对评论部分的标签调用是集成了评论楼号的#xff0c;即标签{$comment.FloorID}。这个标签是不计算子评论的#xff0c;所以并不是采用key直接计算出的楼号。经过测试#xff0c;我们会发现#xff0c;这个楼号存在一定BUG#xff01;具体表现…在官方的wiki中针对评论部分的标签调用是集成了评论楼号的即标签{$comment.FloorID}。这个标签是不计算子评论的所以并不是采用key直接计算出的楼号。经过测试我们会发现这个楼号存在一定BUG具体表现为ZblogPHP如果开启了评论倒序楼号依然是从输出的第一条开始计算楼层这样并不方便大家的使用作为一名开发者如果使用这样的代码来开发zblog主题或插件明显会让人觉得很不专业下面我就针对这一问题来给大家一步一步说明下怎样能正确的实现ZBLOG的正/倒序评论输出楼号ZBlog开发中实现评论的楼层号正确输出的具体方法代码废话不多说我们以默认主题的相关文件为例找到主题文件夹下template/comments.php文件第一步找到评分输出的循环位置{foreach $comments as $key $comment}{template:comment}{/foreach}第二步计算出当前文章(或页面)的一级评论的总数{php}$where array(array(, comm_LogID, $article-ID),array(, comm_RootID,0),array(, comm_IsChecking, 0));$_comments $zbp-GetCommentList(*,$where,null,null,null);$commentsRootSum count($_comments)1;{/php}上面的变量$commentsRootSum就是一级评论的总数。第三步为每个评论赋倒序楼号值{foreach $comments as $key $comment}{$commentRootFloor$commentsRootSum-$comment.FloorID}{template:comment}{/foreach}最后在你想要的位置输出楼号(这里要换到单条评论的模板默认主题为template/comment.php)添加代码即可{if $comment.Level1}{$commentRootFloor}楼{/if}上面的代码需要在开启倒序以后才能正确输出为了保证正序倒序都能正常所以调改一下代码为{php}if($option[ZC_COMMENT_REVERSE_ORDER]1) {$where array(array(, comm_LogID, $article-ID),array(, comm_RootID,0),array(, comm_IsChecking, 0));$_comments $zbp-GetCommentList(*,$where,null,null,null);$commentsRootSum count($_comments)1;}else{$commentsRootSum 0;}{/php}{foreach $comments as $key $comment}{$commentRootFloorabs($comment.FloorID-$commentsRootSum)}{template:comment}{/foreach}好了现在就能够正常的倒序输出评论的楼号了不过只针对一级评论做了如要对子评论排楼就自己去判断修改吧。注意我们这里要把查询的代码放在循环的外面不然要出现重复Query浪费资源。