在 ecshop 首页怎样显示最新评论
最近下载的一个 ecshop 默认,发现其在首页没有评论的功能,实际上主要就是为了显示客户好评麽,在自己的购物站点上不用刷评论,自己就可以写评论,呵呵,貌似独立的商城站点都是这样做的,把最新的用户评论放到首页,主要是为了突显出商城的活跃度以及用户对于本站的口碑,ecshop 是有自己的评论体系的,我们只需要把最新评论调用出来就可以了,下面夏日博客就来教下大家实现的方法。
首先复制如下的代码并保存为一个库文件,文件名和保存路径为:/themes/default/library/index_comments.lbi
<?php
if(!function_exists("get_comments")){
function get_comments($num)
{
$sql = 'SELECT * FROM '. $GLOBALS['ecs']->table('comment') .
' WHERE status = 1 AND parent_id = 0 and comment_type=0 '.
' ORDER BY add_time DESC';
if ($num > 0)
{
$sql .= ' LIMIT ' . $num;
}
//echo $sql;
$res = $GLOBALS['db']->getAll($sql);
$comments = array();
foreach ($res AS $idx => $row)
{
$comments[$idx]['add_time'] = $comments[$idx]['add_time'] = local_date
($GLOBALS['_CFG']['time_format'], $row['add_time']);
$comments[$idx]['user_name'] = $row['user_name'];
$comments[$idx]['content'] = $row['content'];
$comments[$idx]['id_value'] = $row['id_value'];
}
return $comments;
}
}
$GLOBALS['smarty']->assign('my_comments',get_comments(10)); // 10条数据
?>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<!-- 最新评论__Begin -->
<div class="box_2">
<h3><span>最新评论</span></h3>
<div class="top10List clearfix">
<!--{foreach from=$my_comments item=comments}-->
<ul class="clearfix">
<li style="padding:5px 10px;">
<a href="goods.php?id={$comments.id_value}" target="_blank">
{$comments.content|truncate:21:""}</a><br />
{$comments.add_time}
</li>
</ul>
<!--{/foreach}-->
</div>
</div>
接着在ECSHOP首页模板文件中,调用这个库文件,打开 themes/default/index.dwt 文件,找到如下代码:
</div>
<!--left end-->
在这段代码的上面增加一行调用代码:
<!-- #BeginLibraryItem "/library/index_comments.lbi" --> <!-- #EndLibraryItem -->
这个调用的代码自己来定义就可以了,评论的样式也可以在CSS里面单独进行定义,其实这样的评论不仅可以在首页方便调用,我们也可以调用在网站的任何其它地方。