利用phpcms v9的表單嚮導實現問答諮詢功能

       phpcms v9內容管理系統自己是沒有問答模塊的,只有表單嚮導,但表單嚮導有很大的侷限性,經過表單嚮導,咱們只能查看用戶提交的信息,不能對用戶提交的信息進行回覆。例如一些機構的網站須要一個接收用戶的提問,並對提問進行回覆的功能,僅僅利用表單嚮導是知足不了這種需求的,但經過下面的方法對錶單向導模塊進行一些改動就能夠實現諮詢問答功能了。javascript

在phpcms v9後臺新建一表單向導「在線問答」,表名爲「online_ask」,表名本身定,以下圖。
php

對「在線問答」添加字段,以下圖的例子,添加什麼字段是根據需求定的。
java

下圖是該表單的預覽效果。
數據庫

這樣用戶就能夠經過該表單提交問題了,但在後臺,網站編輯只能經過表單嚮導模塊對問題進行查看,不能對其進行回答並將問題和回答展現在網站前臺,以下圖。
json

爲了實現網站編輯在查看問題的同時還能對問題進行回答,須要對錶單模塊作以下的改動:
打開文件phpcms/modules/formguide/templates/formguide_info_view.tpl.php ,在第28行下面添加以下內容:
<tr>
<td>回&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;答:</td>
<td>
<textarea id="answer" cols="80" rows="10">
<?php echo $answer; ?>
</textarea>
</td>
</tr>
<tr>
<td>&nbsp;</td>
<td><input id="tijiaohuida" type="button" value="提交回答" /></td>
</tr>
上面的變量$answer哪來的繼續往下看就知道了
在第30行下面添加以下內容:
<script type="text/javascript">
$(document).ready(function(){
var canshuStr=window.location.search;
var pos=canshuStr.indexOf("&did");
var posend=canshuStr.indexOf("&",pos+4);
var did_c=canshuStr.substring(pos+5,posend);
var answer_c="";
$("#tijiaohuida").click(function(){
answer_c= $("#answer").val();
$.post('index.php?m=formguide&c=formguide_info&a=public_answer', {
did: did_c,
answer: answer_c
}, function(json) {
if(json==1){
alert("回答成功");
}
});
});
});
</script>
而後打開文件phpcms/modules/formguide/formguide_info.php ,在56行加以下代碼:
$answer=$info['answer'];
在最後添加一個方法,代碼以下。
public function public_answer() {
$did = $_POST['did'];
$answer = $_POST['answer'];
$re= $this->db->query("update kc_form_online_ask set answer='".$answer."',mark='已回答' where dataid=".$did);
echo $re;
}
而後咱們在數據庫找到存儲改表單的數據表,並添加兩個字段mark和answer,mark用來標記改問題是否已做答,answer用來存儲回答。
以上是全部的改動。
這樣咱們查看用戶提交的問題的時候界面就變成下圖這個樣子了。
ide

填入回答後點擊提交,就能夠將答案數據存儲在該表單的數據表內了,
在網站前臺,咱們能夠將用戶的問題和網站編輯的回答展現出來,以下圖:
post

這樣咱們就利用表單嚮導模塊實現了一個簡單的在線諮詢的功能。網站www.eduche.com的在線諮詢功能就是經過上面的方法實現的,你們能夠去看具體效果。網站

相關文章
相關標籤/搜索