笔者在测试过程中发现了一些细节的错误,笔者在这里纠正一下:
1:goods.dwt增加以下代码
2:comments1.lbi内容为以下
{insert_scripts files='transport.js,utils.js'}
{* ECSHOP 提醒您:动态载入comments_list.lbi,显示评论列表和评论表单 *}{insert name='comments1' type=2 id=$id}
3:comment_list1.lbi内容为以下
用户咨询
({$lang.total}
{$pager.record_count}
用户咨询)
{$comment.username|escape:html}{$lang.anonymous} ( {$comment.add_time} )
{$comment.content}
{$lang.admin_username}{$comment.re_content}
- 目前没有任何用户咨询
<script type="Text/Javascript" language="JavaScript">
</script>
<script type="text/javascript">
//
{foreach from=$lang.cmt_lang item=item key=key}
var {$key} = "http://www.cuoxin.com/wen/2019/11-02/{$item}";
{/foreach}
{literal}
/**
* 提交评论信息
*/
function submitComment1(frm)
{
var cmt = new Object;
cmt.email = frm.elements['email'].value;
cmt.content = frm.elements['content'].value;
cmt.type = frm.elements['cmt_type'].value;
cmt.id = frm.elements['id'].value;
cmt.enabled_captcha = frm.elements['enabled_captcha'] ? frm.elements['enabled_captcha'].value : '0';
cmt.captcha = frm.elements['captcha'] ? frm.elements['captcha'].value : '';
cmt.rank = 5;
if (cmt.email.length > 0)
{
if (!(Utils.isEmail(cmt.email)))
{
alert(cmt_error_email);
return false;
}
}
else
{
alert(cmt_empty_email);
return false;
}
if (cmt.content.length == 0)
{
alert(cmt_empty_content);
return false;
}
if (cmt.enabled_captcha > 0 && cmt.captcha.length == 0 )
{
alert(captcha_not_null);
return false;
}
Ajax.call('comment1.php', 'cmt=' + cmt.toJS**tring(), commentResp**e1, 'POST', 'JSON'); 这里也有问题 注意** 根据具体函数进行修正
return false;
}
/**
* 处理提交评论的反馈信息
*/
function commentResp**e1(result) 此处有问题,这个函数的全名是:gotoPageResponse1
{
if (result.message)
{
alert(result.message);
}
if (result.error == 0)
{
var layer = document.getElementById('ECS_COMMENT1');
if (layer)
{
layer.innerHTML = result.content;
}
}
}
{/literal}
//]]>
</script>
注意他的cmp_type=2
4:复制一份comment.php命名为commen1.php,但是记得处理cmt_type=2
5:includes/lib_insert.php增加以下函数
function insert_comments1($arr)
{
$need_cache = $GLOBALS['smarty']->caching;
$need_compile = $GLOBALS['smarty']->force_compile;
$GLOBALS['smarty']->caching = false;
$GLOBALS['smarty']->force_compile = true;
/* 验证码相关设置 */
if ((intval($GLOBALS['_CFG']['captcha']) & CAPTCHA_COMMENT) && gd_version() > 0)
{
$GLOBALS['smarty']->assign('enabled_captcha', 1);
$GLOBALS['smarty']->assign('rand', mt_rand());
}
$GLOBALS['smarty']->assign('username', stripslashes($_SESSION['user_name']));
$GLOBALS['smarty']->assign('email', $_SESSION['email']);
$GLOBALS['smarty']->assign('comment_type', 2);
$GLOBALS['smarty']->assign('id', $arr['id']);
$cmt = assign_comment1($arr['id'], $arr['type']);
$GLOBALS['smarty']->assign('comments', $cmt['comments']);
$GLOBALS['smarty']->assign('pager', $cmt['pager']);
$val = $GLOBALS['smarty']->fetch('library/comments_list1.lbi');
$GLOBALS['smarty']->caching = $need_cache;
$GLOBALS['smarty']->force_compile = $need_compile;
return $val;
}
6:js/common.js增加咨询分页js
function gotoPage1(page, id, type)
{
Ajax.call('comment1.php?act=gotopage', 'page=' + page + '&id=' + id + '&type=2', gotoPageResp**e1, 'GET', 'JSON'); 这里也有问题gotoPageResponse1
}
function gotoPageResp**e1(result) 这里也是这个问题:gotoPageResponse1
{
document.getElementById("ECS_COMMENT1").innerHTML = result.content;
}
7:处理购买咨询函数
function assign_comment1($id, $type, $page = 1)
{
/* 取得评论列表 */
$count = $GLOBALS['db']->getOne('SELECT COUNT(*) FROM ' .$GLOBALS['ecs']->table('comment').
" WHERE id_value = '$id' AND comment_type = '2' AND status = 1 AND parent_id = 0");
$size = !empty($GLOBALS['_CFG']['comments_number']) ? $GLOBALS['_CFG']['comments_number'] : 5;
$page_count = ($count > 0) ? intval(ceil($count / $size)) : 1;
$sql = 'SELECT * FROM ' . $GLOBALS['ecs']->table('comment') .
" WHERE id_value = '$id' AND comment_type = '2' AND status = 1 AND parent_id = 0".
' ORDER BY comment_id DESC';
$res = $GLOBALS['db']->selectLimit($sql, $size, ($page-1) * $size);
$arr = array();
$ids = '';
while ($row = $GLOBALS['db']->fetchRow($res))
{
$ids .= $ids ? ",$row[comment_id]" : $row['comment_id'];
$arr[$row['comment_id']]['id'] = $row['comment_id'];
$arr[$row['comment_id']]['email'] = $row['email'];
$arr[$row['comment_id']]['username'] = $row['user_name'];
$arr[$row['comment_id']]['content'] = str_replace('/r/n', '
', htmlspecialchars($row['content']));
$arr[$row['comment_id']]['content'] = nl2br(str_replace('/n', '
', $arr[$row['comment_id']]['content']));
$arr[$row['comment_id']]['rank'] = $row['comment_rank'];
$arr[$row['comment_id']]['add_time'] = local_date($GLOBALS['_CFG']['time_format'], $row['add_time']);
}
/* 取得已有回复的评论 */
if ($ids)
{
$sql = 'SELECT * FROM ' . $GLOBALS['ecs']->table('comment') .
" WHERE parent_id IN( $ids )";
$res = $GLOBALS['db']->query($sql);
while ($row = $GLOBALS['db']->fetch_array($res))
{
$arr[$row['parent_id']]['re_content'] = nl2br(str_replace('/n', '
', htmlspecialchars($row['content'])));
$arr[$row['parent_id']]['re_add_time'] = local_date($GLOBALS['_CFG']['time_format'], $row['add_time']);
$arr[$row['parent_id']]['re_email'] = $row['email'];
$arr[$row['parent_id']]['re_username'] = $row['user_name'];
}
}
/* 分页样式 */
//$pager['styleid'] = isset($GLOBALS['_CFG']['page_style'])? intval($GLOBALS['_CFG']['page_style']) : 0;
$pager['page'] = $page;
$pager['size'] = $size;
$pager['record_count'] = $count;
$pager['page_count'] = $page_count;
$pager['page_first'] = "javascript:gotoPage(1,$id,$type)";
$pager['page_prev'] = $page > 1 ? "javascript:gotoPage(" .($page-1). ",$id,$type)" : 'javascript:;';
$pager['page_next'] = $page < $page_count ? 'javascript:gotoPage(' .($page + 1) . ",$id,$type)" : 'javascript:;';
$pager['page_last'] = $page < $page_count ? 'javascript:gotoPage(' .$page_count. ",$id,$type)" : 'javascript:;';
$cmt = array('comments' => $arr, 'pager' => $pager);
return $cmt;
}
8:后台根据cmt_type进行处理就OK了。
评论列表()