×
  官方微博: 腾讯   新浪
ECSHOP模板 
食品保健 家居化妆 家电数码 综合通用 珠宝配饰
VIP免费模板 
家居化妆 综合通用 服装饰品 食品保健 家电数码
ECSHOP插件 
ECSHOP插件 SHOPEX插件
EC教程中心
安装使用网店运营
首页 > 二次开发教程 > 实现ecshop将商品批量加入收藏的功能

帮助目录

有问必答

您可以加入我们的官方QQ群。

加入官方QQ群

可以将问题或建议反馈给我们。

提交在线客服

猜您感兴趣

实现ecshop将商品批量加入收藏的功能

网站开发中心/ 2014-07-10/ 关注人气:781

 网站开发中心(www.53moban.com)介绍一下如何实现ecshop将商品批量加入收藏的功能。我们的思路是:在它自带单个收藏的原理上,加个循环就解决一切了。


1. 首先循环出要搜藏商品的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> 的代码了。

2. 然后在 common.js 大概第130行有个 collect(goodsId) 函数,就是添加到搜藏的函数,可以仿照它在它下面添加一个:

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

3. 最后在 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));
}
}

转载请注明:网站开发中心(全国最专业的ecshop模板制作商)

分享到:
下一篇:ecshop模板首页上显示最新评论
上一篇:ecshop程序添加新的配送方式