最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
ecshop实现将商品批量加入收藏的功能
时间:2022-06-25 16:31:00 编辑:袖梨 来源:一聚教程网
现在正接触着ecshop,最近也是边学边忙着做了一个案例,收获还是挺大的,至少EC现在已经摸熟了。今天分享一个将商品批量加入搜藏的功能,当时做的时候网上找了好多都没找到合适的方法,最后还是自己做出来了。所以说,世上本没有难题,搞清原理了,就什么都不是问题了。
我的思路是:在它自带单个收藏的原理上,加个循环就解决一切了。
1. 首先循环出要搜藏商品的id,用一个符号隔开,如 ‘12|5|8|’,到时候传入php处理时候再用 explode() 函数按“|”分割开来,然后循环这些id,就可以实现了。
javascript:collect_all('{foreach from=$goods item=g}{$g.goods_id}|{/foreach}')">加入收藏夹 经过循环后就可以得到类似 加入收藏夹 的代码了。
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 里面加入下面这段代码就可以了。
代码如下 | 复制代码 |
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); //过滤掉数组中空的值
$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')";
$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)); } } |
相关文章
- 《无限暖暖》天星之羽获得位置介绍 12-20
- 《流放之路2》重铸台解锁方法介绍 12-20
- 《无限暖暖》瞄准那个亮亮的成就怎么做 12-20
- 《无限暖暖》魔气怪终结者完成方法 12-20
- 《无限暖暖》曙光毛团获得位置介绍 12-20
- 《无限暖暖》日光果获得位置介绍 12-20