菜鸡源码,专注精品下载!
当前位置:首页 > 建站教程 > 建站知识

将商品批量添加到收藏夹的ecshop二次开发

发布时间:2024-01-05  栏目:建站知识   浏览:   分类:ecshop教程

ECShop二次开发商品批量加入收藏可以通过以下步骤实现: 1. 在后台添加一个批量加入收藏的按钮,点击后弹出一个选择框,让用户选择要加入收藏的商品。 2. 通过Ajax技术将用户选择的商品ID发送到服务器端。 3. 服务器端接收到商品ID后,将这些ID存储到数据库中。 4. 当用户访问这些商品页面时,服务器端根据用户的收藏记录,将这些商品添加到用户的收藏列表中。

ecshop 是自带收藏商品功能的,只可惜只能一次收藏一个,相对于较大一点的购物站点,有可能一次就需要收藏多个商品,实现这样的操作也并不是很难的,只需要在 ecshop 自带收藏功能的基础上小小的更改一下即可,下面夏日博客就来教大家如何修改一下吧。

首先循环出要收藏商品的ID,用一个符号进行分隔开,比如‘12|5|8|’,到时候传入 PHP 处理的时候就可以使用 explode() 函数按“|”符号来进行分割分开,然后再进行循环这些ID,就可以实现了,代码如下:

加入收藏夹

经过循环后就可以得到类似 加入收藏夹 的代码了。

接着打开 common.js,找到 collect(goodsId) 函数,这个就是收藏的函数了,我们可以仿照这个函数再重新添加一个函数,实例代码如下:

/***批量添加商品到收藏夹*/functioncollect_all(AllId){Ajax.call('user.php?act=collect_all','id='+AllId,collectResponse,'GET','JSON');}

最后打开 user.php 文件,在这个文件里面添加如下代码:

/*批量添加收藏商品(ajax)*/elseif($action=='collect_all'){include_once(ROOT_PATH.'includes/cls_json.php');$json=newJSON();$result=array('error'=>0,'message'=>'');$goods_id=$_GET['id'];$goods_id=explode("|",$goods_id);$goods_id=array_filter($goods_id);//过滤掉数组中空的值if(!isset($_SESSION['user_id'])||$_SESSION['user_id']==0){$result['error']=1;$result['message']=$_LANG['login_please'];die($json->encode($result));}else{foreach($goods_idas$goods_id){/*检查是否已经存在于用户的收藏夹*/$sql="SELECTCOUNT(*)FROM".$GLOBALS['ecs']->table('collect_goods')."WHEREuser_id='$_SESSION[user_id]'ANDgoods_id='$goods_id'";if($GLOBALS['db']->GetOne($sql)>0){}else{$time=gmtime();$sql="INSERTINTO".$GLOBALS['ecs']->table('collect_goods')."(user_id,goods_id,add_time)"."VALUES('$_SESSION[user_id]','$goods_id','$time')";if($GLOBALS['db']->query($sql)===false){$result['error']=1;$result['message']=$GLOBALS['db']->errorMsg();die($json->encode($result));}}}$result['error']=0;$result['message']=$GLOBALS['_LANG']['collect_success'];die($json->encode($result));}}




相关文章

    无相关信息
评论
建站知识
建站知识
使用技巧
调试安装
运营推广