实现将ecshop商品批量加入收藏
2016-09-07 22:02 来源:www.chinab4c.com 作者:ecshop专家
| 
	ecshop 是自带收藏商品功能的,只可惜只能一次收藏一个,相对于较大一点的购物站点,有可能一次就需要收藏多个商品,实现这样的操作也并不是很难的,只需要在 ecshop 自带收藏功能的基础上小小的更改一下即可,下面夏日博客就来教大家如何修改一下吧。 
	首先循环出要收藏商品的ID,用一个符号进行分隔开,比如‘12|5|8|’,到时候传入 PHP 处理的时候就可以使用 explode() 函数按“|”符号来进行分割分开,然后再进行循环这些ID,就可以实现了,代码如下: 
	<a class="joinSave png" href="javascript:collect_all('{foreach from=$goods item=g}{$g.goods_id}|{/foreach}')">加入收藏夹   
	</a> 经过循环后就可以得到类似 <a class="joinSave png" href="javascript:collect_all('12|5|8|')">加入收藏夹</a> 的代码了。   
	接着打开 common.js,找到 collect(goodsId) 函数,这个就是收藏的函数了,我们可以仿照这个函数再重新添加一个函数,实例代码如下: 
	/* *  
	 *   批量添加商品到收藏夹  
	 */   
	function collect_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 = new JSON();   
	$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_id as $goods_id){   
	/* 检查是否已经存在于用户的收藏夹 */   
	$sql = "SELECT COUNT(*) FROM " .$GLOBALS['ecs']->table('collect_goods') .   
	" WHERE user_id='$_SESSION[user_id]' AND goods_id = '$goods_id'";   
	if ($GLOBALS['db']->GetOne($sql) > 0){}   
	else{   
	$time = gmtime();   
	$sql = "INSERT INTO " .$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));   
	}   
	}   
	OK,做完这些就已经可以实现商品批量加入收藏的功能了。(责任编辑:chinab4c) | 
 
        
					
						
                          
					
				 
      
      最近更新
常用插件
- ecshop2.7.2生成虚拟订单2.
                                  以前我们开发过ecshop下的虚拟订单,就是客户在访问的时候,会自动生... 
- ecshop最小购买数量控制插
                                  ecshop最小购买数量控制插件,这个插件主要是为我们提供一个十分方便... 
- ecshop没登陆情况下订单查
                                  ecshop没登陆情况下订单查询插件,主要是针对ecshop在没有登陆的情况下... 
- ecshop2.7.1邮件发送插件
                                  ecshop2.7.1邮件发送插件:该插件主要的开发思想是源于ecshop短信发送系统... 
- ecshop二次开发商品购买增
                                  图片1香... 
ecshop热门问答
ecshop热门资料
          
               
            ecshop救急 
                
            ecshop配置文件 
                
            ecshop退换 
                
            ecshop打折信息 
                
            ecshop图库 
                
            ecshop康盛 
                
            ecshop多用户 
                
            ecshop黑链 
                
            ecshop更换 
                
            ecshopabc 
                
            ecshopclause 
                
            ecshopoccurred 
                
            ecshop像素 
                
            ecshopGLOBALS 
                
            ecshop前进 
                
            ecshop广告 
                
            ecshop干什么 
                
            ecshopremember 
                
            ecshop评论条件 
                
            ecshop乒乓球 
                
            ecshop长长的 
                
            ecshop醒目 
                
            ecshopPU皮 
                
            ecshop界面 
                
            ecshop显示错位 
                
            ecshop重复 
                
            ecshop短信息 
                
            ecshop黑客 
                
            ecshop模板升级 
                
            ecshop146 
             
        
      


