实现将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