首页 / 值得一看 / zblog教程 / 正文

ZBlog开发中实现评论楼层号正确输出的具体方法代码

2022-06-04zblog教程阅读 381

在官方的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.Level=='1'}{$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}
    {$commentRootFloor=abs($comment.FloorID-$commentsRootSum)}
    {template:comment}{/foreach}

好了,现在就能够正常的倒序输出评论的楼号了,不过只针对一级评论做了,如要对子评论排楼,就自己去判断修改吧。

注意:我们这里要把查询的代码放在循环的外面,不然要出现重复Query,浪费资源。

信息由用户投稿以及用户自行发布,真实性、合法性由发布人负责,涉及到汇款等个人财产或隐私内容时请仔细甄别,注意防骗!如有侵权,请联系:wwwlaoyuwang#126.com(#=@)!我们会第一时间核实处理!

相关推荐

  • 虚拟主机中zblog如何强制全站https

    网站改版升级了https安全访问,可之前搜索引擎收录的全部都是http的链接,如果不做301重定向,别人访问时,进入的依旧不是安全链接。如何把zblogPHP全站http301重定向到https的域名...

    131zblog教程2023-10-01
  • zblogphp使用GetArticleList、GetList函数调用热门文章列表

    一般我们调用ZBLOGPHP文章的时候会用到最新文章、点击数、评论数文章调用,同时我们还可能会在一些特定的位置调用本周、本月、本年度的热门文章。热门文章目录文件:zb_system/funct...

    253zblog教程2023-07-05
  • zblog修改列表分页条首页/上页/下页/末尾符号为文字

    Z-Blog使用{template:pagebar}调用的翻页条是用‹‹、‹、›、››符号分别表示首页、上一篇、下一页和最后一页,如果不想用符号直接显示中文怎么办?可以尝试使用翻页条源代码来修改或者通...

    239zblog教程2023-06-12
  • zblog搜索页面制作教程

    搜索功能是一个网站中必不可少的功能,同样在zblog模板中也支持搜索页面的制作,而zblog中的搜索页面是要用一个单独模板来制作的,下面来进行一下讲解本文讲解是以zblog新版本为例来演示的。首先,先...

    292zblog教程2023-06-11
  • ZblogPHP调用某个分类的随机文章

    随机文章是非常常见的内容模块,有利于提高网站整体的收录。区别于常见的CMS,我发现Zblog并没有表情直接调用随机文章,那么,我们要实现调用某个分类的随机文章,应该怎么实现呢?随机文章从网上看到的随机...

    416zblog教程2023-05-10