首页建站经验 ecshop实现将商品批量加入收藏的功能

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

ecshop功能加入收藏目前只能单个的去收藏,但做项目需要我需要用户可以一次选多个进行批量收藏,在网上找了很多没找到可用的于是有了下面代码.现在正接触着ecshop,最近也是边…

ecshop功能加入收藏目前只能单个的去收藏,但做项目需要我需要用户可以一次选多个进行批量收藏,在网上找了很多没找到可用的于是有了下面代码.

现在正接触着ecshop,最近也是边学边忙着做了一个案例,收获还是挺大的,至少EC现在已经摸熟了,今天分享一个将商品批量加入搜藏的功能,当时做的时候网上找了好多都没找到合适的方法,最后还是自己做出来了,所以说,世上本没有难题,搞清原理了,就什么都不是问题了.

我的思路是:在它自带单个收藏的原理上,加个循环就解决一切了.

1.首先循环出要搜藏商品的id,用一个符号隔开,如 ‘12|5|8|’,到时候传入php处理时候再用 explode() 函数按“|”分割开来,然后循环这些id,就可以实现了.

加入收藏夹 经过循环后就可以得到类似 加入收藏夹 的代码了.

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));

}

}

 

本文来自网络,不代表1号站长-站长学院|资讯交流平台立场。转载请注明出处: https://www.1cn.cc/jianzhan/jingyan/16979.html
上一篇Ecshop提示Only variables should be passed by reference in错误
下一篇 最新wordpress主题制作之新手教程系列(五)
admin

作者: admin

这里可以再内容模板定义一些文字和说明,也可以调用对应作者的简介!或者做一些网站的描述之类的文字或者HTML!

为您推荐

评论列表()

    联系我们

    联系我们

    0898-88888888

    在线咨询: QQ交谈

    邮箱: email@wangzhan.com

    工作时间:周一至周五,9:00-17:30,节假日休息

    关注微信
    微信扫一扫关注我们

    微信扫一扫关注我们

    关注微博
    返回顶部