几番努力,实现了仿京东组合购买
插件,特点如下:
1、利用 系统自带的 商品配件 功能,不用改 数据库
2、用js及 模板修改,改动量小,省心,呵呵
3、改动只涉及模板goods.dwt;goods_fittings.ldi,不会影响其他 页面
泡在坛子里一段 时间了,参考了 高手的思路,在此谢了。
展示效果:
测试展示 地址:
http://www.517ld.com/goods.php?id=1710
小站正在改版,有大家需要的插件,看上的,免费送,呵呵,欢迎拍砖!
有问题随时q:8441546;说明是ecshop交流,呵呵
教程:
1、增加 批量购买功能js(可以放到common.js里,呵呵):
复制代码
2、修改goods.dwt
在需要显示组合的地方(表明要引用配件商品了)
复制代码
3、修改goods_fittings.lbi:这个页面就是要修改显示组合的页面,样式自己定义,新修改增加了主产品特价判断
复制代码
1、利用 系统自带的 商品配件 功能,不用改 数据库
2、用js及 模板修改,改动量小,省心,呵呵
3、改动只涉及模板goods.dwt;goods_fittings.ldi,不会影响其他 页面
泡在坛子里一段 时间了,参考了 高手的思路,在此谢了。
展示效果:
测试展示 地址:
http://www.517ld.com/goods.php?id=1710
小站正在改版,有大家需要的插件,看上的,免费送,呵呵,欢迎拍砖!
有问题随时q:8441546;说明是ecshop交流,呵呵
教程:
1、增加 批量购买功能js(可以放到common.js里,呵呵):
- /* 组合购买__添加商品到购物车__Start by 517ld.com Joe */
- function addToCartNums(goodsId, parentId)
- {
- var goodsIds=goodsId.substr(0,goodsId.length-1).split(',');
- var buynum=goodsIds.length-1;
- for(i=0;i<goodsIds.length;i++)
- {
- var goods = new Object();
- var spec_arr = new Array();
- var fittings_arr = new Array();
- var number = 1;
- var quick = 1;
- goods.quick = quick;
- goods.spec = spec_arr;
- goods.goods_id = goodsIds[i];
- goods.number = 1;
- goods.parent = (typeof(parentId) == "undefined") ? 0 : parseInt(parentId);
- if(i==buynum)
- {
- Ajax.call('flow.php?step=add_to_cart', 'goods=' + goods.toJS**tring(), addToCartResp**e, 'POST', 'JSON');
- }
- else
- {
- Ajax.call('flow.php?step=add_to_cart', 'goods=' + goods.toJS**tring(), '', 'POST', 'JSON');
- }
- }
- }
- /* 组合购买__添加商品到购物车__End */
2、修改goods.dwt
在需要显示组合的地方(表明要引用配件商品了)
- <!-- #BeginLibraryItem "/library/goods_fittings.lbi" --><!-- #EndLibraryItem -->
3、修改goods_fittings.lbi:这个页面就是要修改显示组合的页面,样式自己定义,新修改增加了主产品特价判断
- <!-- {if $fittings} -->
- <script type="text/javascript">
- function check(){
- var result='{$goods.goods_id},';
- var fid = document.getElementById('boxOne');
- var box = fid.getElementsByTagName('input');
- for(var i = 0; i < box.length; i++){
- if(box[i].type == 'checkbox' && box[i].checked){
- result = result + box[i].value + ',';
- }
- }
- //alert(result);
- //return false;
- //在Common.js文件中添加了addToCartNums方法
- addToCartNums(result);
- document.documentElement.scrollTop=0;
- }
- /*
- 计算合计金额,by 517ld.com Joe
- */
- function totalPrice(){
- //var result=Math.round({$goods.shop_price});
- var re = /[¥元]/g;
- <!--{if $goods.is_promote and $goods.gmt_end_time } 促销价格-->
- var result='{$goods.promote_price}';
- result=result.replace(re,'');
- <!--{else}-->
- var result={$goods.shop_price};
- <!--{/if}-->
- //alert(result);
- var fid = document.getElementById('boxOne');
- var box = fid.getElementsByTagName('input');
- var j=1;
- for(var i = 0; i < box.length; i++){
- if(box[i].type == 'checkbox' && box[i].checked){
- var a = box[i].name;
- result = Number(result) + Number(a.replace(re, ''));
- j+=1;
- }
- }
- result_format='¥%s元';
- re_re=/\%s/g;
- result_format=result_format.replace(re_re, result);
- document.getElementById("totalPrice").innerHTML=result_format;
- document.getElementById("totalNum").innerHTML=j;
- }
- </script>
- <div class="infotit clearfix">
- <h2><span class="l"></span><span class="r"></span>最佳组合</h2>
- </div>
- <div class="fitting" id="boxOne">
- <div class="goodsbox1">
- <div class="goodsbox">
- <div class="imgbox"><img src="{$goods.goods_thumb}" alt="{$goods.goods_style_name|escape:html}" /></div>
- <a href="#" target="_blank" title="{$goods.goods_style_name|escape:html}">{$goods.goods_style_name|escape:html}</a><br />
- <!--{if $goods.is_promote and $goods.gmt_end_time } 促销价格-->
- <b class="f1">{$goods.promote_price}</b>
- <!--{else}-->
- <b class="f1">{$goods.shop_price_formated}</b>
- <!--{/if}-->
- </div>
- </div>
- <div class="fitting_right">
- <br><br><br>
- <font style="font-size:13px;font-weight:bold;color:#003399;">购买最佳组合</font><br>
- 已选择:<span id="totalNum" style="color:red;"></span>个商品<br>
- 搭配价:<span id="totalPrice" style="color:red;font-weight:bold;"></span><br>
- <image src="/images/gmzh.gif" style="cursor:hand" onClick="check()" >
- </div>
- <div class="fitting_middle">
- <!--{foreach from=$fittings item=goods}-->
- <div class="goodsbox">
- <div class="imgbox"><a href="{$goods.url}" target="_blank"><img src="{$goods.goods_thumb}" alt="{$goods.name|escape:html}" /></a></div>
- <a href="{$goods.url}" target="_blank" title="{$goods.goods_name|escape:html}">{$goods.short_name|escape:html}</a><br />
- <input type="checkbox" name="{$goods.fittings_price}" value="{$goods.goods_id}" onClick="totalPrice()" checked=checked /><b class="f1">{$goods.fittings_price}</b>
- </div>
- <!--{/foreach}-->
- </div>
- <script>totalPrice();</script>
- </div>
- <!-- {/if} -->
4、后台为一个商品增加配件,测试吧、享受吧,呵呵
http://bbs.ecshop.com/thread-181673-1-1.html