找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 164|回复: 0

[cms教程] ecshop将商品批量加入收藏的方法

[复制链接]

该用户从未签到

发表于 2015-12-1 09:21:49 | 显示全部楼层 |阅读模式

您需要 登录 才可以下载或查看,没有账号?立即注册

×
ecshop将商品批量加入收藏的思路:在它自带单个收藏的原理上,加个循环就可解决了。

1. 首先循环出要搜藏商品的id,用一个符号隔开,如 ‘12|5|8|’,到时候传入php处理时候再用 explode() 函数按“|”分割开来,然后循环这些id,就可以实现了。
[url=,加入收藏夹[/url] 经过循环后就可以得到类似 [url=,加入收藏夹[/url] 的代码了。

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));
}
}
回复

使用道具 举报

网站地图|页面地图|文字地图|Archiver|手机版|小黑屋|找资源 |网站地图

GMT+8, 2024-11-6 10:51

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表