广州传奇网络

地址:广州市天河区东圃大马路富华楼C座

电话:13808825895

邮箱:gz020wbs@163.com

QQ:1564443073

网址:http://www.020wbs.com/

首页 > 二次开发Ecshop二次开发 > ecshop如何获得指定商品的各会员等级对应的价格

二次开发Ecshop二次开发

二次开发Ecshop二次开发

ecshop如何获得指定商品的各会员等级对应的价格

ecshop商城系统有着灵活的价格机制,可以根据不同的商品和不同的会员等级设置价格折扣,现在我们看ecshop下如何实现不同等级的会员设置不同的价格折扣

实现的原理及php函数是get_user_rank_prices,这个函数在goods.php页面,其代码如下:

 


获得指定商品的各会员等级对应的价格/**
 * 获得指定商品的各会员等级对应的价格
 *
 * @access  public
 * @param   integer     $goods_id
 * @return  array
 */
function get_user_rank_prices($goods_id, $shop_price)
{
    $sql = "SELECT rank_id, IFNULL(mp.user_price, r.discount * $shop_price / 100) AS price, r.rank_name, r.discount " .
            'FROM ' . $GLOBALS['ecs']->table('user_rank') . ' AS r ' .
            'LEFT JOIN ' . $GLOBALS['ecs']->table('member_price') . " AS mp ".
                "ON mp.goods_id = '$goods_id' AND mp.user_rank = r.rank_id " .
            "WHERE r.show_price = 1 OR r.rank_id = '$_SESSION[user_rank]'";
    $res = $GLOBALS['db']->query($sql);
 
    $arr = array();
    while ($row = $GLOBALS['db']->fetchRow($res))
    {
 
        $arr[$row['rank_id']] = array(
                        'rank_name' => htmlspecialchars($row['rank_name']),
                        'price'     => price_format($row['price']));
    }
 
    return $arr;
}

对于做二次开发的人员可以看看这个函数的,更好的理解ecshop的工作机制