5步骤实现ecshop按组购买

1,720次阅读
没有评论

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'];

正文完
 

公众号