ecshop购物车如何显示商品规格和实现商品配件功能
2016-07-07 15:02 来源:www.chinab4c.com 作者:ecshop专家
我们先来看看ecshop购物车如何显示商品规格: 我们先来打开flow.php,在ecshop购物车商品显示的地方添加下面这段程序, 本文转自(http://www.ecshopmoban.cn) if ($cart_goods['goods_list']){ foreach ($cart_goods['goods_list'] as $k => $v){ $properties = get_goods_properties($v['goods_id']); if($m = $properties['pro']['商品規格']){ $cart_goods['goods_list'][$k]['attribute'][] = $m; } } } 接着我们再打开flow.dwt模板,将显示商品属性里面的程序修改为下面这段代码, <!-- {if $show_goods_attribute eq 1} 顯示商品屬性 --> <td bgcolor="#ffffff">{foreach from = $goods.attribute item = item}{foreach from=$item item=i}{$i.name}:{$i.value}<br>{/foreach}{/foreach}</td> <!-- {/if} --> 最后再更新缓存,你就可以发现ecshop购物车中有商品属性显示出来了. 我们已经解决了前一个ecshop购物车如何显示商品规格的问题,你是不是更有信心来解决ecshop购物车如何显示商品规格和实现商品配件功能的下一个问题。解决ecshop商品配件功能实现问题,我们先要了解ecshop配件这个概念,在增加录入该商品B的时候,你可以录入a,b,c作为B商品的配件。一下说明是增加ecshop商品配件的方法: 第一步:后台->商品管理->增加新商品->配件.这里你可以选择某个类别下面的商品作为配件,还可以指定该配件的价格。 第二步:配件,所以在购买B商品的时候,在购物车的下面,会出现该商品A下的配件。而ecshop中商品B的所有配件就存储在表group_goods中。里面存储了B的id,也存储了配件a,b,c的id用来匹配。 第三步:ecshop相关函数在购买B的时候计算出配件的价格。但它不是配件产品本身的价格,所以可以利用配件,进行套餐的匹配。 第四步:分析计算配件的价格函数 function get_goods_fittings($goods_list = array()) { $temp_index = 0; $arr= array(); $sql = 'SELECT gg.parent_id, ggg.goods_name AS parent_name, gg.goods_id, gg.goods_price, g.goods_name, g.goods_thumb, g.goods_img, g.shop_price AS org_price, ' . "IFNULL(mp.user_price, g.shop_price * '$_SESSION[discount]') AS shop_price ". 'FROM ' . $GLOBALS['ecs']->table('group_goods') . ' AS gg ' . 'LEFT JOIN ' . $GLOBALS['ecs']->table('goods') . 'AS g ON g.goods_id = gg.goods_id ' . "LEFT JOIN " . $GLOBALS['ecs']->table('member_price') . " AS mp ". "ON mp.goods_id = gg.goods_id AND mp.user_rank = '$_SESSION[user_rank]' ". "LEFT JOIN " . $GLOBALS['ecs']->table('goods') . " AS ggg ON ggg.goods_id = gg.parent_id ". "WHERE gg.parent_id " . db_create_in($goods_list) . " AND g.is_delete = 0 AND g.is_on_sale = 1 ". "ORDER BY gg.parent_id, gg.goods_id"; $res = $GLOBALS['db']->query($sql); while ($row = $GLOBALS['db']->fetchRow($res)) { $arr[$temp_index]['parent_id']= $row['parent_id'];//配件的基本件ID $arr[$temp_index]['parent_name'] = $row['parent_name'];//配件的基本件的名称 $arr[$temp_index]['parent_short_name'] = $GLOBALS['_CFG']['goods_name_length'] > 0 ? sub_str($row['parent_name'], $GLOBALS['_CFG']['goods_name_length']) : $row['parent_name'];//配件的基本件显示的名称 $arr[$temp_index]['goods_id'] = $row['goods_id'];//配件的商品ID $arr[$temp_index]['goods_name']= $row['goods_name'];//配件的名称 $arr[$temp_index]['short_name']= $GLOBALS['_CFG']['goods_name_length'] > 0 ? sub_str($row['goods_name'], $GLOBALS['_CFG']['goods_name_length']) : $row['goods_name'];//配件显示的名称 $arr[$temp_index]['fittings_price'] = price_format($row['goods_price']);//配件价格 $arr[$temp_index]['shop_price']= price_format($row['shop_price']);//配件原价格 $arr[$temp_index]['goods_thumb'] = get_image_path($row['goods_id'], $row['goods_thumb'], true); $arr[$temp_index]['goods_img']= get_image_path($row['goods_id'], $row['goods_img']); $arr[$temp_index]['url']= build_uri('goods', array('gid'=>$row['goods_id']), $row['goods_name']); $temp_index ++; } return $arr; } 从以上函数我们可以知道ecshop 配件的价格是读了group_goods表中的goods_price字段的值,在放入购物车中时,通过该字段计算。这样配件的价格就能一直体现出基件和配件的关系。 这样我们就把解决ecshop购物车如何显示商品规格和实现商品配件功能的所有问题了,如果还想了解更多ecshop信息你可以登陆http://www.ecshop.cn |
回答:
自己顶一个 |
最近更新
常用插件
- ecshop二次开发详细页面生
插件介绍: ECSHOP系统,在很多时候,很多商品没有人购买,不但购买的人...
- ecshop商品分类名称增加样
ecshop插件介绍:本插件可以方便在后台管理,为ecshop商品分类名称增加样...
- ecshop2.7.1打印发货单插件
ecshop2.7.1打印发货单插件介绍:ecshop2.7.1和以前的ecshop版本不一样,ecs...
- ecshop分类批量扩展插件
ecshop分类批量扩展插件,这个插件是ecshop插件里面比较核心的插件。我们...
- ecshop二次商品订购人信息
ecshop二次商品订购人信息填写插件,有时候给朋友送花,或者是送礼品的...
ecshop热门问答
ecshop热门资料
ecshop天涯海角
interface
centos
ecshop商品品牌管理
ecshop销售额
ecshop源程序
ecshop主页底部修改
ecshop会员价格
ecshop下级地区
ecshopHELL
ecshop减少
ecshop回传
ecshop滚动代码
ecshop不吝
ecshop问题求解
ecshopECMall二次开发定制
ecshopquery
JavaBridge
ecshop浏览
ecshop免费额度
ecshop宅急送
ecshop传中
ecshop1161
ecshop百团大战
ecshop网吧
Editable
ecshop茶文化
ecshopupgrade
ecshop模板
ecshop免费