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'");
好了簡單修改就是這些.
新聞熱點
疑難解答