怎样实现DEDE评论系统像腾讯和网易那样楼层显示?

要实现DEDE评论盖楼功能,可以参考以下步骤:,,1. 修改DEDECMS的模板文件,添加相应的楼层显示代码。,2. 在DEDECMS后台设置中,开启评论楼层功能。,3. 根据需要调整楼层显示样式,可以使用CSS进行美化。

要实现DEDECMS评论盖楼效果,使其类似于腾讯和网易的显示方式,可以通过修改几个关键文件和添加CSS样式来实现,以下是详细的步骤:

怎样实现DEDE评论系统像腾讯和网易那样楼层显示?

针对5.5版本的修改方法

1、修改/plus/feedback_ajax.php文件

找到并修改第131行

原代码:$qmsg = '{quote}{title}'.$row['username'].' 的原帖:{/title}{content}'.$row['msg'].'{/content}{/quote}';

修改后的代码:

       //$qmsg = '{quote}{title}'.$row['username'].' 的原帖:{/title}{content}'.$row['msg'].'{/content}{/quote}';
       $floors = substr_count($row['msg'], '{title}');//查找评论中楼层数
       if ($floors > 0) {
           $floors += 1;
           $floor_html = '{floor}' . $floors . '{/floor}';
       } else {
           $floor_html = '{floor}1{/floor}';
       }
       $quotetitle = '{title}引用' . $row['username'] . '的评论'. $floor_html .'{/title}';
       $oldquote = '';//以前的引用
       $quotemsg = $row['msg'];
       if ($floors > 0) {
           $oldquoteend = strrpos($quotemsg, '{/quote}') + 8;
           $oldquote = substr($quotemsg, 0, $oldquoteend);
           $quotemsg = substr($quotemsg, $oldquoteend);
       }
       $qmsg = '{quote}' . $oldquote . $quotetitle . '{content}' . $quotemsg . '{/content}{/quote}';

2、修改/include/channelunit.func.php文件

在516行前插入两行代码

原代码:return $quote;

修改后的代码:

       $quote = str_replace('{floor}','<span class="floor">',$quote);
       $quote = str_replace('{/floor}','</span>',$quote);
       return $quote;

3、/templets/style/dedecms.css文件中加入CSS代码

怎样实现DEDE评论系统像腾讯和网易那样楼层显示?

在任意位置添加以下CSS代码:

     .floor {
         float: right;
         paddingright: 10px;
     }

针对5.6版本的修改方法

1、修改/templets/plus/feedback_quote.htm文件

找到并修改第94行

原代码:

       <input type="hidden" name="quotemsg" value="{quote}<?php echo '{title}'.$row['username'].' 的原帖:{/title}{content}'.$row['msg'].'{/content}'; ?>{/quote}" />

修改后的代码:

       <input type="hidden" name="quotemsg" value="<?php
       //echo '{quote}{title}'.$row['username'].' 的原帖:{/title}{content}'.$row['msg'].'{/content}{/quote}';
       $floors = substr_count($row['msg'], '{title}');//计算评论中楼层数
       if ($floors > 0) {
           $floors += 1;
           $floor_html = '{floor}' . $floors . '{/floor}';
       } else {
           $floor_html = '{floor}1{/floor}';
       }
       $quotetitle = '{title}' . $row['username'] . '的原帖'. $floor_html .'{/title}';
       $oldquote = '';//以前的引用
       $quotemsg = $row['msg'];
       if ($floors > 0) {
           $oldquoteend = strrpos($quotemsg, '{/quote}') + 8;
           $oldquote = substr($quotemsg, 0, $oldquoteend);
           $quotemsg = substr($quotemsg, $oldquoteend);
       }
       echo '{quote}' . $oldquote . $quotetitle . '{content}' . $quotemsg . '{/content}{/quote}';
       ?>" />

2、修改/include/channelunit.func.php文件

在519行前插入两行代码

原代码:return $quote;

修改后的代码:

怎样实现DEDE评论系统像腾讯和网易那样楼层显示?

       $quote = str_replace('{floor}','<span class="floor">',$quote);
       $quote = str_replace('{/floor}','</span>',$quote);
       return $quote;

3、/templets/default/style/page.css文件中加入CSS代码

在任意位置添加以下CSS代码:

     .floor {
         float: right;
         paddingright: 10px;
     }

通过以上步骤,你可以将DEDECMS的评论系统改造成类似腾讯和网易的盖楼显示效果,如果遇到任何问题,可以参考以下FAQs部分。

FAQs

1、Q: 如果修改失败怎么办?

A: 如果在修改过程中遇到问题,建议首先检查代码是否正确复制和粘贴,确保没有漏掉任何字符或标点符号,如果仍然无法解决,可以在DEDECMS官方论坛或相关技术社区寻求帮助。

2、Q: 是否有其他更好的实现方法?

A: 本文提供的方法是较为通用的实现方案,但如果你具备较强的PHP和前端开发能力,可以尝试使用更高级的JavaScript和AJAX技术来进一步优化用户体验,可以动态加载评论楼层,提高页面加载速度和响应速度。

原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1220583.html

(0)
未希的头像未希新媒体运营
上一篇 2024-10-17 13:50
下一篇 2024-10-17 13:51

相关推荐

  • 如何在dedecms中实现类似腾讯和网易的评论楼层数功能?

    在dedecms中实现评论盖楼功能,可以通过修改评论模块的代码来实现。具体步骤如下:,,1. 打开评论模块的文件,找到显示评论列表的代码部分。,2. 在显示评论列表的代码中,添加一个计数器变量,用于记录当前楼层数。,3. 在每条评论的显示代码中,将计数器变量加1,并显示当前楼层数。,4. 根据需要,可以对楼层数进行格式化处理,例如添加前导零等。,,通过以上步骤,可以实现类似腾讯、网易的评论盖楼功能,显示每条评论的楼层数。

    2024-09-03
    016
  • 如何在织梦中为评论添加楼层显示?

    当然可以,请提供您需要我添加楼层号的织梦评论内容。

    2024-10-09
    04

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

免费注册
电话联系

400-880-8834

产品咨询
产品咨询
分享本页
返回顶部
云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购  >>点击进入