要实现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技术来进一步优化用户体验,可以动态加载评论楼层,提高页面加载速度和响应速度。
最新评论
本站CDN与莫名CDN同款、亚太CDN、速度还不错,值得推荐。
感谢推荐我们公司产品、有什么活动会第一时间公布!
我在用这类站群服务器、还可以. 用很多年了。