[ecshop 资料] ecshop 购物车显示积分
2015-11-25 09:42
417 查看
ecshop 购物车
显示积分
lib_goods.php
/* 查询:取得参数:商品id */
$goods_id = isset($_POST['goods_id']) ? intval($_POST['goods_id']) : 0;
if ($goods_id <= 0)
{
ecs_header("Location: ./\n");
exit;
}
/* 查询:取得兑换商品信息 */
$goods = get_exchange_goods_info($goods_id);
if (empty($goods))
{
ecs_header("Location: ./\n");
exit;
}
/* 查询:检查兑换商品是否有库存 */
if($goods['goods_number'] == 0 && $_CFG['use_storage'] == 1)
{
show_message($_LANG['eg_error_number'], array($_LANG['back_up_page']), array($back_act), 'error');
}
/* 查询:检查兑换商品是否是取消 */
if ($goods['is_exchange'] == 0)
{
show_message($_LANG['eg_error_status'], array($_LANG['back_up_page']), array($back_act), 'error');
}
$user_info = get_user_info($_SESSION['user_id']);
$user_points = $user_info['pay_points']; // 用户的积分总数
if ($goods['exchange_integral'] > $user_points)
{
show_message($_LANG['eg_error_integral'], array($_LANG['back_up_page']), array($back_act), 'error');
}
/* 查询:取得规格 */
$specs = '';
foreach ($_POST as $key => $value)
{
if (strpos($key, 'spec_') !== false)
{
$specs .= ',' . intval($value);
}
}
$specs = trim($specs, ',');
/* 查询:如果商品有规格则取规格商品信息 配件除外 */
if (!empty($specs))
{
$_specs = explode(',', $specs);
$product_info = get_products_info($goods_id, $_specs);
}
if (empty($product_info))
{
$product_info = array('product_number' => '', 'product_id' => 0);
}
//查询:商品存在规格 是货品 检查该货品库存
if((!empty($specs)) && ($product_info['product_number'] == 0) && ($_CFG['use_storage'] == 1))
{
show_message($_LANG['eg_error_number'], array($_LANG['back_up_page']), array($back_act), 'error');
}
/* 查询:查询规格名称和值,不考虑价格 */
$attr_list = array();
$sql = "SELECT a.attr_name, g.attr_value " .
"FROM " . $ecs->table('goods_attr') . " AS g, " .
$ecs->table('attribute') . " AS a " .
"WHERE g.attr_id = a.attr_id " .
"AND g.goods_attr_id " . db_create_in($specs);
$res = $db->query($sql);
while ($row = $db->fetchRow($res))
{
$attr_list[] = $row['attr_name'] . ': ' . $row['attr_value'];
}
$goods_attr = join(chr(13) . chr(10), $attr_list);
/* 更新:清空购物车中所有团购商品 */
include_once(ROOT_PATH . 'include/lib_order.php');
clear_cart(CART_EXCHANGE_GOODS);
/* 更新:加入购物车 */
$number = 1;
$cart = array(
'user_id' => $_SESSION['user_id'],
'session_id' => SESS_ID,
'goods_id' => $goods['goods_id'],
'product_id' => $product_info['product_id'],
'goods_sn' => addslashes($goods['goods_sn']),
'goods_name' => addslashes($goods['goods_name']),
'market_price' => $goods['market_price'],
'goods_price' => 0,//$goods['exchange_integral']
'goods_number' => $number,
'goods_attr' => addslashes($goods_attr),
'goods_attr_id' => $specs,
'is_real' => $goods['is_real'],
'extension_code' => addslashes($goods['extension_code']),
'parent_id' => 0,
'rec_type' => CART_EXCHANGE_GOODS,
'is_gift' => 0
);
$db->autoExecute($ecs->table('cart'), $cart, 'INSERT');
/* 记录购物流程类型:团购 */
$_SESSION['flow_type'] = CART_EXCHANGE_GOODS;
$_SESSION['extension_code'] = 'exchange_goods';
$_SESSION['extension_id'] = $goods_id;
显示积分
lib_goods.php
/** * 获得购物车中的商品 * * @access public * @return array */ function get_cart_goods() { /* 初始化 */ $goods_list = array(); $total = array( 'goods_price' => 0, // 本店售价合计(有格式) 'market_price' => 0, // 市场售价合计(有格式) 'saving' => 0, // 节省金额(有格式) 'save_rate' => 0, // 节省百分比 'goods_amount' => 0, // 本店售价合计(无格式) ); /* 循环、统计 mod by yanggg 2015/11/23*/ $sql = "SELECT gs.exchange_integral, c.*, IF(c.parent_id, c.parent_id, c.goods_id) AS pid , c.goods_number " . " FROM " . $GLOBALS['ecs']->table('cart') . " as c " . ' LEFT JOIN ' . $GLOBALS['ecs']->table('exchange_goods') . ' AS gs ON gs.goods_id = c.goods_id '. " WHERE c.session_id = '" . SESS_ID . "' AND c.rec_type = '" . CART_GENERAL_GOODS . "'" . " ORDER BY pid, c. parent_id"; $res = $GLOBALS['db']->query($sql); /* 用于统计购物车中实体商品和虚拟商品的个数 */ $virtual_goods_count = 0; $real_goods_count = 0; while ($row = $GLOBALS['db']->fetchRow($res)) { $total['goods_price'] += $row['goods_price'] * $row['goods_number']; $total['market_price'] += $row['market_price'] * $row['goods_number']; $total['total_number'] += $row['goods_number'];//by Leah $row['subtotal'] = price_format($row['goods_price'] * $row['goods_number'], false); $row['goods_price'] = price_format($row['goods_price'], false); $row['market_price'] = price_format($row['market_price'], false); $row['exchange_integral'] = $row['exchange_integral']; $row['jifen'] = $row['exchange_integral']; /* 统计实体商品和虚拟商品的个数 */ if ($row['is_real']) { $real_goods_count++; } else { $virtual_goods_count++; } /* 查询规格 */ if (trim($row['goods_attr']) != '') { $row['goods_attr']=addslashes($row['goods_attr']); $sql = "SELECT attr_value FROM " . $GLOBALS['ecs']->table('goods_attr') . " WHERE goods_attr_id " . db_create_in($row['goods_attr']); $attr_list = $GLOBALS['db']->getCol($sql); foreach ($attr_list AS $attr) { $row['goods_name'] .= ' [' . $attr . '] '; } } /* 增加是否在购物车里显示商品图 */ if (($GLOBALS['_CFG']['show_goods_in_cart'] == "2" || $GLOBALS['_CFG']['show_goods_in_cart'] == "3") && $row['extension_code'] != 'package_buy') { $goods_thumb = $GLOBALS['db']->getOne("SELECT `goods_thumb` FROM " . $GLOBALS['ecs']->table('goods') . " WHERE `goods_id`='{$row['goods_id']}'"); $row['goods_thumb'] = get_image_path($row['goods_id'], $goods_thumb, true); } if ($row['extension_code'] == 'package_buy') { $row['package_goods_list'] = get_package_goods($row['goods_id']); } $goods_list[] = $row; } $total['goods_amount'] = $total['goods_price']; $total['saving'] = price_format($total['market_price'] - $total['goods_price'], false); if ($total['market_price'] > 0) { $total['save_rate'] = $total['market_price'] ? round(($total['market_price'] - $total['goods_price']) * 100 / $total['market_price']).'%' : 0; } $total['goods_price'] = price_format($total['goods_price'], false); $total['market_price'] = price_format($total['market_price'], false); $total['real_goods_count'] = $real_goods_count; $total['virtual_goods_count'] = $virtual_goods_count; return array('goods_list' => $goods_list, 'total' => $total); }
/* 查询:取得参数:商品id */
$goods_id = isset($_POST['goods_id']) ? intval($_POST['goods_id']) : 0;
if ($goods_id <= 0)
{
ecs_header("Location: ./\n");
exit;
}
/* 查询:取得兑换商品信息 */
$goods = get_exchange_goods_info($goods_id);
if (empty($goods))
{
ecs_header("Location: ./\n");
exit;
}
/* 查询:检查兑换商品是否有库存 */
if($goods['goods_number'] == 0 && $_CFG['use_storage'] == 1)
{
show_message($_LANG['eg_error_number'], array($_LANG['back_up_page']), array($back_act), 'error');
}
/* 查询:检查兑换商品是否是取消 */
if ($goods['is_exchange'] == 0)
{
show_message($_LANG['eg_error_status'], array($_LANG['back_up_page']), array($back_act), 'error');
}
$user_info = get_user_info($_SESSION['user_id']);
$user_points = $user_info['pay_points']; // 用户的积分总数
if ($goods['exchange_integral'] > $user_points)
{
show_message($_LANG['eg_error_integral'], array($_LANG['back_up_page']), array($back_act), 'error');
}
/* 查询:取得规格 */
$specs = '';
foreach ($_POST as $key => $value)
{
if (strpos($key, 'spec_') !== false)
{
$specs .= ',' . intval($value);
}
}
$specs = trim($specs, ',');
/* 查询:如果商品有规格则取规格商品信息 配件除外 */
if (!empty($specs))
{
$_specs = explode(',', $specs);
$product_info = get_products_info($goods_id, $_specs);
}
if (empty($product_info))
{
$product_info = array('product_number' => '', 'product_id' => 0);
}
//查询:商品存在规格 是货品 检查该货品库存
if((!empty($specs)) && ($product_info['product_number'] == 0) && ($_CFG['use_storage'] == 1))
{
show_message($_LANG['eg_error_number'], array($_LANG['back_up_page']), array($back_act), 'error');
}
/* 查询:查询规格名称和值,不考虑价格 */
$attr_list = array();
$sql = "SELECT a.attr_name, g.attr_value " .
"FROM " . $ecs->table('goods_attr') . " AS g, " .
$ecs->table('attribute') . " AS a " .
"WHERE g.attr_id = a.attr_id " .
"AND g.goods_attr_id " . db_create_in($specs);
$res = $db->query($sql);
while ($row = $db->fetchRow($res))
{
$attr_list[] = $row['attr_name'] . ': ' . $row['attr_value'];
}
$goods_attr = join(chr(13) . chr(10), $attr_list);
/* 更新:清空购物车中所有团购商品 */
include_once(ROOT_PATH . 'include/lib_order.php');
clear_cart(CART_EXCHANGE_GOODS);
/* 更新:加入购物车 */
$number = 1;
$cart = array(
'user_id' => $_SESSION['user_id'],
'session_id' => SESS_ID,
'goods_id' => $goods['goods_id'],
'product_id' => $product_info['product_id'],
'goods_sn' => addslashes($goods['goods_sn']),
'goods_name' => addslashes($goods['goods_name']),
'market_price' => $goods['market_price'],
'goods_price' => 0,//$goods['exchange_integral']
'goods_number' => $number,
'goods_attr' => addslashes($goods_attr),
'goods_attr_id' => $specs,
'is_real' => $goods['is_real'],
'extension_code' => addslashes($goods['extension_code']),
'parent_id' => 0,
'rec_type' => CART_EXCHANGE_GOODS,
'is_gift' => 0
);
$db->autoExecute($ecs->table('cart'), $cart, 'INSERT');
/* 记录购物流程类型:团购 */
$_SESSION['flow_type'] = CART_EXCHANGE_GOODS;
$_SESSION['extension_code'] = 'exchange_goods';
$_SESSION['extension_id'] = $goods_id;
相关文章推荐
- 无论在多么奇怪的地方看见 Linux 你都不要吃惊
- linux shell 脚本攻略001
- 嵌入式Linux开发交叉编译(一)
- Expression : invalid operator < 解决方法
- Centos中nexus搭建maven私服
- Linux命令总结
- (十六)洞悉linux下的Netfilter&iptables:开发自己的hook函数【实战】(下)
- Linux中EXPORT_SYMBOL的用法
- [转]编译Opencv的GPU,利用CUDA加速
- PHPCMS网站更换域名怎么办?
- Linux启动过程详解
- 详解神秘Linux内核
- Centos6.5+mysql5.6+cluster7.4安装配置方案
- linux 防ddos
- Linux静态链接库与动态链接库详解
- (十五)洞悉linux下的Netfilter&iptables:开发自己的hook函数【实战】(上)
- jvisualvm远程监控
- org.apache.log4j.Logger 详解
- Hadoop-2.7.2分布式安装手册
- [Linux]Directory Function