在phpcms程序中,默认是没有问答系统的,那么如果制作的网站中需要一个问答表单,我们该怎样实现.
此方法需要修改增强表单模块的功能从而实现问答效果.
首先我们需要在phpcms的后台中新建一个表单,通过表单向导创建-问答,表名称设置为to_ask
然后根据自己需求添加需要的字段。
打开然phpcms文件夹、modules文件夹、formguide文件夹中的formguide_info.php文件
在56行左右添加:
$askdf=info['askdf']; 在最后添加一个方法,代码如下。
public function public_askdf() {
$dfid = $_POST['dfid'];
$askdf = $_POST['askdf'];
$zaskdb= $this->db->query("update 创建的表单表 set askdf='".$askdf."',mark='已回答' where dataid=".$dfid);
echo $zaskdb;
}
在数据表中添加数据表,并添加mark字段,mark字段标记是否已回答,askdf字段为答复内容
继续打开phpcms文件夹、modules文件夹、formguide文件夹、templates文件夹、formguide_info_view.tpl.php文件
大概在第28行下方添加如下代码:
<tr>
<td>回 答:</td>
<td>
<textarea id="askdf" cols="70" rows="10">
<?php echo $askdf; ?>
</textarea>
</td>
</tr>
<tr>
<td> </td>
<td><input id="askzhf" type="button" value="答复" /></td>
</tr>
继续大约在30行左右添加js代码:
<script type="text/javascript">
$(document).ready(function () {
var shfurl = window.location.search;
var zinpo = shfurl.indexOf("&dfid");
var postsend = shfurl.indexOf("&", zinpo + 4);
var postdfid = shfurl.substring(zinpo + 5, postsend);
var askdfz = "";
$("#askzhf").click(function () {
askdfz = $("#askdf").val();
$.post('index.php?m=formguide&c=formguide_info&a=public_askdf', {
dfid: postdfid,
askdf: askdfz
}, function (dfjson) {
if (dfjson == 1) {
alert("答复成功");
}
});
});
});
</script>
最后保存对phpcms表单模块所做的代码修改更新系统缓存即可达到一个简单的在线问答效果.