如何实现ecshop批量添加商品到购物车

如何实现ecshop批量添加商品到购物车,第1张

第一步:

找到主机根目录下 /themes/default/library/goods_list.lbi 文件,在其中每个商品的前面增加一个复选框按钮。即默认模板大约第74行,增加代码:

<input type=”checkbox” value=”{$goods.goods_id}” />

第二步:

增加可以添加选定商品到购物车的链接。位置任选,添加的代码如下:

<a href=”javascript:addSelectedToCart(‘goodslist’)”>Add selected products to cart

第三步:

添加循环将选定商品加入购物车的函数,打开/js/common.js文件,在第36行,加入如下代码:

/*

*添加选定商品到购物车

*/

function addSelectedToCart(p)

{

for ( var i=0i<document.getElementById(p).elements.lengthi++ )

{

var e = document.getElementById(p).elements[i]

if ( (e.type==’checkbox’)&&(!e.disabled) )

{

if ( e.checked )

{

addToCart(e.value)

}

}

}

}

按照以上三个步骤即可实现,其实Ecshop这款开源的商城系统在客户下单时添加商品到购物车使用的就是一个JS函数调用来提交数据的,在这里我们添加一个封装好的函数addToCart()来实现批量添加就可以实现啦。按照以上步骤修改好之后到网站后台更新下缓存就可以完美实现批量添加商品到购物车了。

首先点击加入购物车,它其实就是用的js (javascript:addToCart(*))这个,这个js 效果在 js/common.js 这个里面。然后他实际上是通过返回一个数据,(Ajax.call('flow.php?step=add_to_cart', 'goods=' + $.toJSON(goods), addToCartResponse, 'POST', 'JSON'))所以你要根据这个去找。 在 flow 里面 找到 add_to_cart。你就会发现他有一个更新数据库的 *** 作。说了那么多。就是一步一步去找。addto_cart() 就是这个函数 他在/include/lib_order.php里面。

有两点你注意了就可以了:

一、你的静态页面需要在顶部引入,常用的js文件

<script type="text/javascript" src="js/common.js"></script>

<script type="text/javascript" src="js/transport.js"></script>

<script type="text/javascript" src="js/utils.js"></script>

二、<a href="javascript:addToCart({$goods.goods_id})"><img src="images/add to cart.gif" alt="Add to cart" /></a>超链接中的addToCart({$goods.goods_id}),其中{$goods.goods_id}应换成固定的商品ID

这样就可以了


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11375944.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-15
下一篇2023-05-15

发表评论

登录后才能评论

评论列表(0条)

    保存