在ECSHOP产品分类页调用当前分类排行榜

本教程实现在ECSHOP分类页面调用 本分类下的商品排行榜:第一步:打开 category.php添加以下函数:123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354/*** 调用产品分类的销售排行榜** @access  public* @param   string  $cats   查询的分类* @return  array*/function get_pro_top10($cats = '1'){$where = !empty($cats) ? "AND (g.cat_id = $cats OR " . get_extension_goods($cats) . ") " : '';/* 排行统计的时间 */switch ($GLOBALS['_CFG']['top10_time']){case 1: // 一年$top10_time = "AND o.order_sn >= '" . date('Ymd', gmtime() - 365 * 86400) . "'";break;case 2: // 半年$top10_time = "AND o.order_sn >= '" . date('Ymd', gmtime() - 180 * 86400) . "'";break;case 3: // 三个月$top10_time = "AND o.order_sn >= '" . date('Ymd', gmtime() - 90 * 86400) . "'";break;case 4: // 一个月$top10_time = "AND o.order_sn >= '" . date('Ymd', gmtime() - 30 * 86400) . "'";break;default:$top10_time = '';}$sql = 'SELECT g.goods_id, g.goods_name, g.shop_price, g.goods_thumb, SUM(og.goods_number) as goods_number ' .'FROM ' . $GLOBALS['ecs']->table('goods') . ' AS g, ' .$GLOBALS['ecs']->table('order_info') . ' AS o, ' .$GLOBALS['ecs']->table('order_goods') . ' AS og ' ."WHERE g.is_on_sale = 1 AND g.is_alone_sale = 1 AND g.is_delete = 0 $where $top10_time " ;//判断是否启用库存,库存数量是否大于0if ($GLOBALS['_CFG']['use_storage'] == 1){$sql .= " AND g.goods_number > 0 ";}$sql .= ' AND og.order_id = o.order_id AND og.goods_id = g.goods_id ' ."AND o.order_status = '" . OS_CONFIRMED . "' " ."AND (o.pay_status = '" . PS_PAYED . "' OR o.pay_status = '" . PS_PAYING . "') " ."AND (o.shipping_status = '" . SS_SHIPPED . "' OR o.shipping_status = '" . SS_RECEIVED . "') " .'GROUP BY g.goods_id ORDER BY goods_number DESC, g.goods_id DESC LIMIT ' . $GLOBALS['_CFG']['top_number'];$arr = $GLOBALS['db']->getAll($sql);for ($i = 0, $count = count($arr); $i < $count; $i++){$arr[$i]['short_name'] = $GLOBALS['_CFG']['goods_name_length'] > 0 ?sub_str($arr[$i]['goods_name'], $GLOBALS['_CFG']['goods_name_length']) : $arr[$i]['goods_name'];$arr[$i]['url']        = build_uri('goods', array('gid' => $arr[$i]['goods_id']), $arr[$i]['goods_name']);$arr[$i]['thumb'] = get_image_path($arr[$i]['goods_id'], $arr[$i]['goods_thumb'],true);$arr[$i]['price'] = price_format($arr[$i]['shop_price']);}return $arr;}查找:1$smarty->assign('top_goods',        get_top10());                  // 销售排行在这下面添加以下代码:1$smarty->assign('get_pro_top',        get_pro_top10($cat_id));                  // 本分类销售排行第二步:在模板文件中使用以下代码调用:12345678910111213141516171819202122<div class="box"><div class="box_2"><div class="top10Tit"></div><div class="top10List clearfix"><!-- {foreach name=top_goods from=$get_pro_top item=goods}--><ul class="clearfix"><img src="../images/top_{$smarty.foreach.top_goods.iteration}.gif" class="iteration" /><!-- {if $smarty.foreach.top_goods.iteration<4}--><li class="topimg"><a href="{$goods.url}"><img src="{$goods.thumb}" alt="{$goods.name|escape:html}" class="samllimg" /></a></li><!-- {/if} --><li {if $smarty.foreach.top_goods.iteration<4}class="iteration1"{/if}><a href="{$goods.url}" title="{$goods.name|escape:html}">{$goods.short_name}</a><br />{$lang.shop_price}<font class="f1">{$goods.price}</font><br /></li></ul><!-- {/foreach} --></div></div></div><div class="blank5"></div>

(0)

相关推荐