discuz X3.1 快速回复 流程

一、嵌套回复

    我参考的 

http://www.liudon.org/?p=1079  
 

也是在 forum_post 建立的 两个字段,由于涉及到程序的 修改,所以,才有了下面的 东西


二、快速回复  流程

以这个 url为例子: http://127.0.0.1/bbs/forum.php?

mod=post&action=reply&fid=53&tid=1171&repquote=2502&extra=page%3D1&page=1


提交回复后

第一步 最先访问的是  forum.php   


   最后一句 require DISCUZ_ROOT.'./source/module/forum/forum_'.$mod.'.php'; 根据 url 得知 ,这里的$mod = post
   所以 实际上是 require DISCUZ_ROOT.'./source/module/forum/forum_post.php';

第二步

    根据url 中的  action=reply , 在source/module/forum/forum_post.php中 342行左右

   elseif($_GET['action'] == 'reply') {
        $navtitle .= ' - '.$thread['subject'].' - '.$_G['forum']['name'];
        require_once libfile('post/newreply', 'include');
   }
    根据require_once libfile('post/newreply', 'include');  知道这是 引入  source/include/post/post_newreply.php

第三步  在source/include/post/post_newreply.php中
   $params 这个数组中存有一些信息,进一步 处理是在 $return = $modpost->newreply($params);  419行左右

第四步  source/class/model/model_post.php     方法newreply() 

大约120行左右,$this->pid= insertpost(array()); 的作用就是  将回复信息的数据存入数据库 forum_post 表中  



知道了 这个流程, 我是在第四步中的   $this->pid= insertpost(array()); 中 添加自己的字段赋值

你可能感兴趣的:(discuz X3.1 快速回复 流程)