• ecshop 首页调用指定分类下的销售排行


    /*首页调用指定分类下的销售排行*/
    function get_cats_top10($cat = '')
    {
        $sql = 'SELECT cat_id, cat_name ' .
        'FROM ' . $GLOBALS['ecs']->table('category') .
        "WHERE parent_id = '$cat' ORDER BY sort_order ASC, cat_id ASC LIMIT 3";
        $res = $GLOBALS['db']->getAll($sql);
        foreach ($res AS $row)
        {
        $cats = get_children($row['cat_id']);
        $cat_arr[$row['cat_id']]['name'] = mb_substr($row['cat_name'] , 0, 10 ,"gbk");
        $cat_arr[$row['cat_id']]['id'] = $row['cat_id'];
        $where = !empty($cats) ? "AND ($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_brief, g.goods_name, g.goods_img, g.goods_thumb, g.shop_price, g.promote_price, g.promote_start_date, g.promote_end_date, 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 " ;
        //判断是否启用库存,库存数量是否大于0
        if ($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);
        foreach ($arr as $row1)
        {
        $cat_arr[$row['cat_id']]['children'][$row1['goods_id']]['short_name'] = $GLOBALS['_CFG']['goods_name_length'] > 0 ? sub_str($row1['goods_name'], $GLOBALS['_CFG']['goods_name_length']) : $row1['goods_name'];
        $cat_arr[$row['cat_id']]['children'][$row1['goods_id']]['url'] = build_uri('goods', array('gid' => $row1['goods_id']), $row1['goods_name']);
        $cat_arr[$row['cat_id']]['children'][$row1['goods_id']]['goods_img'] = get_image_path($row1['goods_id'], $row1['goods_img']);
        $cat_arr[$row['cat_id']]['children'][$row1['goods_id']]['goods_thumb'] = get_image_path($row1['goods_id'], $row1['goods_thumb']);
        $cat_arr[$row['cat_id']]['children'][$row1['goods_id']]['shop_price'] = price_format($row1['shop_price']);
        $cat_arr[$row['cat_id']]['children'][$row1['goods_id']]['goods_name'] = $row1['goods_name'];
        $cat_arr[$row['cat_id']]['children'][$row1['goods_id']]['goods_name'] = $row1['goods_name'];
        $cat_arr[$row['cat_id']]['children'][$row1['goods_id']]['goods_brief'] = $row1['goods_brief'];
        if ($row1['promote_price'] > 0)
        {
        $promote_price = bargain_price($row1['promote_price'], $row1['promote_start_date'], $row1['promote_end_date']);
        $cat_arr[$row['cat_id']]['children'][$row1['goods_id']]['promote_price'] = $promote_price > 0 ? price_format($promote_price) : '';
        }
        else
        {
        $cat_arr[$row['cat_id']]['children'][$row1['goods_id']]['promote_price'] = '';
        }
        }
        }
        return $cat_arr;
    }
    /*首页调用指定分类下的销售排行*/

    模板调用处方法:

    <!-- {foreach name=top from=$top_goods6 item=goods}-->
    <div class="box">
    <div class="box_2">
    <h3><span>{$goods.name}</span></h3>
    <div class="top10List clearfix">
    <!-- {foreach from=$goods.children item=children name=top_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="{$children.url}"><img src="{$children.goods_thumb}" alt="{$children.name|escape:html}" class="samllimg" /></a>
    </li>
    <!-- {/if} -->
    <li {if $smarty.foreach.top_goods.iteration<4}class="iteration1"{/if}>
    <a href="{$children.url}" title="{$children.name|escape:html}">{$children.short_name}</a><br />
    {$lang.shop_price}<font class="f1">{$children.price}</font><br />
    </li>
    </ul>
    <!--{/foreach}-->
    </div>
    </div>
    </div>
    <div class="blank5"></div>
    <!--{/foreach}-->
  • 相关阅读:
    Hbase常用Shell命令
    Hbase的安装与基本操作
    Unity3d 游戏设计(一)井字棋
    Unity3d 二、离散仿真引擎基础
    Unity3D 一、游戏
    String StringBuffer StringBulider
    Java日志记录log4j最简明教程
    使用PinYin4j.jar将汉字转换为拼音
    线性素数筛
    求一个数的约数个数 d(n)
  • 原文地址:https://www.cnblogs.com/zgzy/p/3806168.html
Copyright © 2020-2023  润新知