PHPCMS2008非常强大,但是面对形形色色的用户群,各式各样的个性化要求,二次开发就显得那么强大的需要,在此呢本人做了一个简单的问答系统为专家答疑中心,此话怎讲呢?
1.设置专业的会员组,该会员组(以下称专家组)有回答权限,其他普通会员无权限.
2.专家组回答完成后,问题自动设置为已解决,回答修改为最佳答案,无其他回答者.
修改步骤:首先修改模板文件templatesdefaultaskshow.html,将:
- <!--最佳答案-->
- {if $status==5}
- <div class="cat">
- <h3 class="good">最佳答案 <span>回答者: {$optimail_username} {$optimal_actor} 回复时间:{date('Y-m-d H:i',$answertime)}</span></h3>
- <div class="answer">
- <p>{$answer}</p>
- </div>
- </div>
- {/if}修改为 <!--最佳答案-->
- {if $status==5 }
- <div class="question_very">
- <h1>专家解答</h1>
- <div class="answer">
- <span>{$answer}</span>
- <p>回答者: {$optimail_username} 回复时间:{date('Y-m-d H:i',$answertime)}</p>
- </div> <!--Vevb.com -->
- </div>
- {/if}
其次是控制文件根目录下的askshow.php,修改:
- if($M['answer_check'])
- {
- $posts['status'] = 1;
- }
- else
- {
- $posts['status'] = 3;修改为
- if($M['answer_check'])
- {
- $posts['status'] = 1;
- }
- else
- {
- $posts['status'] = 3;
- $posts['optimal']=1;
- }
最后说类文件,根目录askincludeanswer.class.php,修改:
- function add($id,$posts)
- {
- global $_point,$_userid,$_username,$M,$LANG;
- $id = intval($id);
- if(!$id || !is_array($posts)) return false;
- $posts['askid'] = $id;
- $r = $this->db->get_one("SELECT pid FROM $this->table_posts WHERE askid=$id AND userid='$_userid' LIMIT 1");
- if($r) return false;
- $this->db->insert($this->table_posts, $posts);
- $this->db->query("UPDATE ".DB_PRE."member_info SET answercount=answercount+1 WHERE userid='$_userid'");为
- function add($id,$posts)
- {
- global $_point,$_userid,$_username,$M,$LANG;
- $id = intval($id);
- if(!$id || !is_array($posts)) return false;
- $posts['askid'] = $id;
- $r = $this->db->get_one("SELECT pid FROM $this->table_posts WHERE askid=$id AND userid='$_userid' LIMIT 1");
- if($r) return false;
- $this->db->insert($this->table_posts, $posts);
- $this->db->query("UPDATE `ic_ask` SET `status`=5 where `askid`='$id'");
- $this->db->query("UPDATE ".DB_PRE."member_info SET answercount=answercount+1 WHERE userid='$_userid'");
好了简单修改就是这些.
新闻热点
疑难解答