云主机测评网云主机测评网云主机测评网

云主机测评网
www.yunzhuji.net

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

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

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

针对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代码

在任意位置添加以下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;

修改后的代码:

       $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技术来进一步优化用户体验,可以动态加载评论楼层,提高页面加载速度和响应速度。

打赏
版权声明:主机测评不销售、不代购、不提供任何支持,仅分享信息/测评(有时效性),自行辨别,请遵纪守法文明上网。
文章名称:《怎样实现DEDE评论系统像腾讯和网易那样楼层显示?》
文章链接:https://www.yunzhuji.net/yunfuwuqi/253007.html

评论

  • 验证码