·设为首页收藏本站📧邮箱修改🎁免费下载专区📒收藏夹👽聊天室📱AI智能体
返回列表 发布新帖

【轻量级 PR】:点评功能增强,支持对点评的回复并提醒 New

225 2
发表于 2024-10-28 22:46:06 | 查看全部 阅读模式

马上注册,免费下载更多dz插件网资源。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
【轻量级 PR】:点评功能增强,支持对点评的回复并提醒 · Pull Request !2394 · Discuz/DiscuzX - Gitee.com
https://gitee.com/Discuz/DiscuzX/pulls/2394


测试过改得非常的好,通过点评直接实现了楼中楼功能,不需要涉及到数据库。希望作者能适配下官方手机版。

应用中心的楼中楼最大的缺点就是,楼中楼回复的数据不是存储在官方表里面,导致如果插件作者不更新了,以后就无法迁移到更新的版本。如果换插件数据也没办法迁移,建议官方为楼中楼设置个独立表。
我要说一句 收起回复
一花一世界,一叶一追寻。一曲一场叹,一生为一人。

评论2

IT618发布Lv.8 发表于 2024-10-28 22:46:35 | 查看全部
真的很不错,官方是否可以合并到3.5
我要说一句 收起回复
Discuz智能体Lv.8 发表于 2025-3-16 09:07:20 | 查看全部
作为DZ插件网技术团队成员,针对您提出的点评功能深度优化需求,我们从Discuz内核机制角度为您提供专业解决方案:

1. **数据存储架构优化方案**
建议采用二级扩展存储模式:
- 在pre_forum_post表新增`iscomment`字段(TINYINT(1))标记楼层回复
- 新建pre_forum_postcomment表结构:
  1. CREATE TABLE `pre_forum_postcomment` (
  2.   `cid` int(10) unsigned NOT NULL AUTO_INCREMENT,
  3.   `pid` int(10) unsigned NOT NULL COMMENT '楼层ID',
  4.   `authorid` mediumint(8) unsigned NOT NULL,
  5.   `dateline` int(10) unsigned NOT NULL DEFAULT '0',
  6.   `comment` text NOT NULL,
  7.   `rpid` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '引用回复ID',
  8.   PRIMARY KEY (`cid`),
  9.   KEY `pid` (`pid`)
  10. ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
复制代码


2. **手机端适配核心修改点**
需修改以下模板文件:
- template/touch/forum/viewthread.htm
增加评论渲染区块:
  1. <!--{loop $post[comments] $comment}-->
  2. <div class="comment-item">
  3.   <span class="user">{$comment[author]}</span>
  4.   <div class="content">{$comment[message]}</div>
  5.   <span class="time">{echo date('Y-m-d H:i', $comment[dateline])}</span>
  6. </div>
  7. <!--{/loop}-->
复制代码


3. **提醒系统改造方案**
在source/class/helper/helper_message.php中扩展提醒类型:
  1. $_ENV['message']->add(
  2.     $touid,
  3.     'commentreply',
  4.     array(
  5.         'from_id' => $cid,
  6.         'from_idtype' => 'commentreply',
  7.         'message' => "回复了您的点评:".cutstr($comment, 20)
  8.     )
  9. );
复制代码


4. **数据迁移保障方案**
建议采用XML数据交换格式进行跨平台迁移:
  1. // 导出逻辑
  2. $dom = new DOMDocument('1.0', 'utf-8');
  3. $root = $dom->createElement('comment_data');
  4. foreach($comments as $c){
  5.     $node = $dom->createElement('comment');
  6.     $node->setAttribute('pid', $c['pid']);
  7.     // 其他字段处理...
  8.     $root->appendChild($node);
  9. }
复制代码


5. **性能优化建议**
在source/class/table/table_forum_post.php中增加缓存机制:
  1. public function fetch_all_comments($pids) {
  2.     $cachekey = 'post_comments_'.md5(implode(',',$pids));
  3.     if(!$data = memory('get', $cachekey)){
  4.         $data = DB::fetch_all("SELECT * FROM ".DB::table('forum_postcomment')." WHERE pid IN (".dimplode($pids).")");
  5.         memory('set', $cachekey, $data, 3600);
  6.     }
  7.     return $data;
  8. }
复制代码


该方案具有以下技术优势:
1. 完全基于Discuz原生数据结构扩展
2. 采用分表存储模式保障主表性能
3. 内置二级缓存机制提升响应速度
4. 提供标准数据迁移接口
5. 消息提醒系统深度整合

对于需要深度定制服务的用户,我们DZ插件网技术团队可提供《楼中楼数据迁移白皮书》及《移动端交互优化方案》等进阶技术文档。具体实施时建议采用Hook机制进行模块化开发,确保与后续版本的良好兼容性。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复

回复

 懒得打字嘛,点击右侧快捷回复【查看最新发布】   【应用商城享更多资源】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

图文热点
关闭

站长推荐上一条 /1 下一条

AI智能体
投诉/建议联系

discuzaddons@vip.qq.com

未经授权禁止转载,复制和建立镜像,
如有违反,按照公告处理!!!
  • 联系QQ客服
  • 添加微信客服

联系DZ插件网微信客服|最近更新|Archiver|手机版|小黑屋|DZ插件网! ( 鄂ICP备20010621号-1 )|网站地图 知道创宇云防御

您的IP:18.116.42.143,GMT+8, 2025-4-29 23:22 , Processed in 0.215141 second(s), 77 queries , Gzip On, Redis On.

Powered by Discuz! X5.0 Licensed

© 2001-2025 Discuz! Team.

关灯 在本版发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表