在开发旅游预订功能的过程中,我们通过反馈表单实现了许多关键功能。由于这一过程涉及对多个源文件和数据库结构的修改,因此在使用时,请根据实际需求进行选择性调整。以下内容将详细介绍如何实现这些功能,并提供相关代码示例。

第一步:添加字段
为了实现订单号和客服回复的功能,需要对数据库进行如下修改:

在表 phome_enewsfeedback 中新增两个字段:
ddno varchar(30) - 订单号
retext varchar(120) - 客服回复

如果您希望避免直接修改数据库结构,可以在后台管理信息反馈字段中添加这些字段,并将 ddno 的初始值设置为:

接下来,在后台表单模板中手动插入以下代码(请勿使用自动生成功能):





第二步:修改源代码
打开文件 /e/tool/feedback/index.php,找到合适的位置,添加以下代码以生成反馈编号:


$ddno=time();// 反馈编号

随后,修改文件 /e/admin/tool/showfeedback.php,增加用于处理订单和回复的功能。具体操作是在页面中添加一个表单,包含几个文本框。以下是参考代码:


...
所属分类:
客服回复:
 

接着,修改文件 /e/admin/tool/feedback,获取表单提交的值。找到以下代码:


include "../".LoadLang("pub/fun.php");

在其上方添加:


elseif($enews=="ReOrder")
{
        $id=$_POST@['id'];
        $bid=$_POST@['bid'];
        $retext=$_POST@['retext'];
        ReOrder($id,$bid,$retext,$logininid,$loginin);
}

最后,修改文件 /e/class/com_functions.php,增加 ReOrder 函数:


// 回复反馈 2010-10-16 by 成名
function ReOrder($id,$bid,$retext,$userid,$username){
        global $empire,$dbtbpre;
        $id=(int)$id;
        $bid=(int)$bid;
        if(!$id||!$retext)
        {
                printerror("EmptyReGbooktext","history.go(-1)");
        }
        // 验证权限
        // CheckLevel($userid,$username,$classid,"feedback");
        $sql=$empire->query("update {$dbtbpre}enewsfeedback set retext='$retext' where id='$id';");
        if($sql)
        {
                // 操作日志
                insert_dolog("id=".$id);
                echo"";
                exit();
        }
        else
        {printerror("DbError","history.go(-1)");}
}

第三步:增加搜索功能
为了提升用户体验,您可以在反馈表单中添加搜索功能。仅需修改文件 /e/admin/tool/feedback.php 即可。具体修改方法可以参考文件 /e/admin/shopsys/listdb.php

以上步骤详细介绍了如何实现反馈表单中的订单管理和回复功能。希望对您的项目有所帮助!如果遇到任何问题,欢迎随时反馈。