最近忙于ecshop和最土程序的开发。也没空来写ecshop教程了。本文我们将结合ecshop二次开发谈谈ecshop留言板的问题。ecshop留言板的数据存储在feedback表中。
ecshop的留言代码在message.php页面.主要提交的参数是留言类型,标题,和内容以及时间.分别是msg_type,msg_title,msg_content三个字段。
$message = array(
'user_id' => $user_id,
'user_name' => $user_name,
'user_email' => isset($_POST['user_email']) ? htmlspecialchars(trim($_POST['user_email'])) : '',
'msg_type' => isset($_POST['msg_type']) ? intval($_POST['msg_type']) : 0,
'msg_title' => isset($_POST['msg_title']) ? trim($_POST['msg_title']) : '',
'msg_content' => isset($_POST['msg_content']) ? trim($_POST['msg_content']) : '',
'order_id' => 0,
'msg_area' => 1,
'upload' => array()
);
当然如果是匿名留言,那么这里的user_id将等于0.
留言内容的显示,先统计留言的数量,然后统计ecshop留言板不同的留言类型,在ecshop留言板里面,评论也将在里面显示.具体的代码参考以下.
$sql = "SELECT COUNT(*) FROM " .$GLOBALS['ecs']->table('comment')." WHERE STATUS =1 AND comment_type =0 ";
$record_count = $db->getOne($sql);
$sql = "SELECT COUNT(*) FROM " .$GLOBALS['ecs']->table('feedback')." WHERE `msg_area`='1' AND `msg_status` = '1' ";
$record_count += $db->getOne($sql);
每页流言的显示数量可以从后台设置.$pagesize = get_library_number('message_list', 'message_board');
在ecshop留言板列表中,都是通过合并ecshop评论和留言两个表来显示数据。具体在该函数里面显示.
function get_msg_list($num, $start)
ecshop留言板内容的提交在该函数里面,add_message().他通过获得$_POST来提交给数据库.