ecshop增加安组购买功能
1、改goods.dwt模板
<!--jimphie's code 按组数量购买-->
<li>
<div style=" border:1px #F48D02 solid; padding:10px; background-color:#FFFBD5;">
<div>
<table>
<tbody>
<tr>
<td> 购买数量:
<input type="text" onblur="changePrice()" size="4" value="1" id="number" name="number">
{$goods.group_name} </td>
<td height="2"><script language="javascript">
function jia(){
var obj=document.all("number");
if(obj.value=="" || isNaN(obj.value))return false;
var k=parseInt(obj.value);
k += parseInt(1);
obj.value = k;
}
function jian(){
var obj=document.all("number");
if(obj.value=="" || isNaN(obj.value))return false;
obj.value -= 1;
}
</script>
<table cellspacing="0 " cellpadding="0 " border="0 " style="border-collapse: collapse;">
<tbody>
<tr height="10">
<td height="10" style="line-height: 10px;"><img width="13 " height="11 " border="0" align="absbottom " onclick="jia();changePrice();" src="images/up1.gif"></td>
</tr>
<tr height="10">
<td height="10" style="line-height: 10px;"><img width="13 " height="11 " border="0" align="top" onclick="jian();changePrice();" src="images/down1.gif"></td>
</tr>
</tbody>
</table></td>
<td><strong>{$lang.amount}:</strong><font id="ECS_GOODS_AMOUNT"></font></td>
</tr>
</tbody>
</table>
<div > <a href="javascript:addToCart({$goods.goods_id})"><img src="images/btn_shopcart.gif" align="absmiddle" /></a> <a href="javascript:collect({$goods.goods_id})" style="font-size:14px; margin-left:10px;"><img src="images/icon_arrowdouble.jpg" />收藏</a>
<!-- {if $affiliate.on} -->
<a href="user.php?act=affiliate&goodsid={$goods.goods_id}" style="font-size:14px;margin-left:10px;"><img src="images/icon_arrowdouble.jpg" />推荐给好友</a>
<!-- {/if} -->
</div>
</div>
</li>
<!--jimphei's code end-->
2、在goods.php中实现修改价格的显示
//jimphei's code 按组购买
$min_num=$db->getOne("select min_num from ".$ecs->table('goods')." where goods_id=$goods_id limit 1");
//jimphei's code 按组购买end
$shop_price = get_final_price($goods_id, $number*$min_num, true, $attr_id);
$res['result'] = price_format($shop_price * $number*$min_num);
3、修改购物车价格统计lib_order.php
/* 取得商品信息 */
$sql = "SELECT g.goods_name, g.goods_sn, g.is_on_sale, g.is_real, ".
"g.market_price, g.shop_price AS org_price, g.promote_price, g.promote_start_date, ".
"g.promote_end_date, g.goods_weight, g.integral, g.extension_code, ".
"g.goods_number, g.is_alone_sale, g.is_shipping,g.min_num".
"IFNULL(mp.user_price, g.shop_price * '$_SESSION[discount]') AS shop_price ".
" FROM " .$GLOBALS['ecs']->table('goods'). " AS g ".
" LEFT JOIN " . $GLOBALS['ecs']->table('member_price') . " AS mp ".
"ON mp.goods_id = g.goods_id AND mp.user_rank = '$_SESSION[user_rank]' ".
" WHERE g.goods_id = '$goods_id'" .
" AND g.is_delete = 0";
$goods = $GLOBALS['db']->getRow($sql);
$num=$num*$goods['min_num'];
/*取购物车数据*/
$min_num=$GLOBALS['db']->getOne("select min_num from ".$GLOBALS['ecs']->table('goods')." where goods_id=".$row['goods_id']);
$group_num=intval($row['goods_number']/$min_num);
$row['min_num']=$min_num;
$row['group_num']=$group_num;
4、修改模板flow.dwt
<!-- {if $goods.goods_id gt 0 && $goods.is_gift eq 0 && $goods.parent_id eq 0} 普通商品可修改数量 -->
<table>
<tbody><tr>
<td>
<input type="text" name="goods_number[{$goods.rec_id}]" id="goods_number_{$goods.rec_id}" value="{$goods.group_num}" size="4" style="text-align:center " onkeydown="showdiv(this)"/>组
</td>
<td>
<table cellspacing="0 " cellpadding="0 " border="0 " style="border-collapse: collapse;">
<tbody><tr height="10">
<td height="10" style="line-height: 10px;"> <img width="13 " height="11 " border="0" align="absbottom " onclick="jia({$goods.rec_id});showdiv(this);" src="images/up1.gif"> </td>
</tr>
<tr height="10">
<td height="10" style="line-height: 10px;"> <img width="13 " height="11 " border="0" align="top" onclick="jian({$goods.rec_id});showdiv(this);" src="images/down1.gif"> </td>
</tr>
</tbody></table>
</td>
<td>
X {$goods.min_num} 盒 </td>
<td>
</td>
</tr>
</tbody></table>
<!-- {else} -->
{$goods.goods_number}
<!-- {/if} -->
</td>
5、修改flow.php实现购物车的更新
$sql = "SELECT g.goods_name, g.goods_number,g.min_num ".
"FROM " .$GLOBALS['ecs']->table('goods'). " AS g, ".
$GLOBALS['ecs']->table('cart'). " AS c ".
"WHERE g.goods_id = c.goods_id AND c.rec_id = '$key'";
$row = $GLOBALS['db']->getRow($sql);
$val=$val*$row['min_num'];