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

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

第一步:

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

<input type=”checkbox” value=”{$goodsgoods_id}” />

第二步:

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

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

第三步:

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

/

添加选定商品到购物车

/

function addSelectedToCart(p)

{

for ( var i=0; i<documentgetElementById(p)elementslength; i++ )

{

var e = documentgetElementById(p)elements[i];

if ( (etype==’checkbox’)&&(!edisabled) )

{

if ( echecked )

{

addToCart(evalue) ;

}

}

}

}

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

无忧主机相关文章推荐阅读:

ECSHOP无法保存HTML邮件怎么办?

在ECSHOP会员中如何限制(添加或者减少)会员收货地址的数量

1:ecshop如何设置某个商品免除运费

后台=>商品列表=>其他信息=》选择免运费情况。如果该商品勾选上了。则该商品在购买的时候,不会产生运费。

2:如果计算ecshop的商品免除运费。

includes/lib_orderphp的order_fee()函数。

$sql = 'SELECT count() FROM ' $GLOBALS['ecs']->table('cart') " WHERE `session_id` = '" SESS_ID "' AND `extension_code` != 'package_buy' AND `is_shipping` = 0";

$shipping_count = $GLOBALS['db']->getOne($sql);

$total['shipping_fee'] = ($shipping_count == 0 AND $weight_price['free_shipping'] == 1) 0 : shipping_fee($shipping_info['shipping_code'],$shipping_info['configure'], $weight_price['weight'], $total['goods_price'], $weight_price['number']);

在你购买的时候,他首先检测该商品是否免除运费如果该商品免除运费的话,他就直接可以免除运费,但是有个缺点,如果该商品和其他不免除运费的商品一起购买的话,他就产生运费了。结构很简单。shipping_count == 0 AND $weight_price['free_shipping'] == 1,这里已经表示很明确了。

正常的ecshop购买流程应该是这样的。就是如果ecshop的购买流程里面,只要有一个商品是免除运费的,那么所有的商品都应该是免除运费的。

我们可以按照下面函数来处理运费的过程。

function has_free(){

global $db;

global $ecs;

$sql = 'SELECT count() FROM ' $GLOBALS['ecs']->table('cart') " WHERE `session_id` = '" SESS_ID "' AND `extension_code` = 'package_buy'";

$shipping_count = $GLOBALS['db']->getOne($sql);

if($shipping_count){

$sql = 'SELECT goods_id from ' $GLOBALS['ecs']->table('cart') " WHERE `session_id` = '" SESS_ID "' AND `extension_code`= 'package_buy'";

$ids = $db->getCol($sql);

if($ids){

foreach($ids as $k => $v){

$sql2 = "select gis_shipping from "$ecs->table('package_goods')" p , "$ecs->table('goods')" g where ggoods_id = pgoods_id and ppackage_id = $v";

$res = $db->getCol($sql2);

if(in_array(1,$res)){

$tsing = 1;

continue;

}

}

if($tsing ==1){

return 1;

}else{

$sql = 'SELECT count() FROM ' $GLOBALS['ecs']->table('cart') " WHERE `session_id` = '" SESS_ID "' AND `extension_code` != 'package_buy' AND `is_shipping` = 1";

$shipping_count = $GLOBALS['db']->getOne($sql);

if($shipping_count){

return 1;

}

return 0;

}

}else{

return 0;

}

}else{

$sql = 'SELECT count() FROM ' $GLOBALS['ecs']->table('cart') " WHERE `session_id` = '" SESS_ID "' AND `extension_code` != 'package_buy' AND `is_shipping` = 1";

$shipping_count = $GLOBALS['db']->getOne($sql);

if($shipping_count){

return 1;

}

}

return 0;

}

如果后台添加文章的时候没有录入 作者 那么系统默认的是 网站名 为作者 如果网站名是没有值得话 那作者就显示为空 网站名在系统设置里面

代码片段在articlephp的 get_article_info方法里面 大约在157-160行

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

原文地址:https://54852.com/langs/12178482.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存