ecshop将商品批量加入收藏的方法

ecshop将商品批量加入收藏的思路:在它自带单个收藏的原理上,加个循环就可解决了。 1. 首先循环出要搜藏商品的id,用一个符号隔开,如 12|5|8|,到时候传入php处理时候再用 explode() 函数按|分割开来,然后循环这些id,就可以实现了。 a class=joinSave pn
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那个留言板栏目(message.php),而不是指商品详情页面底部的用户评论区,通过这个方法,用户可以引用商品的信息,进行商品的讨论和留言。那么在这里留言板里如何才能将商品的缩略图显示出来呢,现在来说一说具体的方
做 ecshop模版 网站的时候,测试数据,发现点击订购、加入按钮都没反应,网上搜索,有些人说是修改了common.js,我将原始版本复原也没反映。后来重新安装ecshop,仔细研究发现,原来头部文件page_header.lbi被完全修改后,就点击没反应。 javascript:addToCa
ecshop 最高管理员登陆后台设置一个商品对应每个会员的价格,比如 普通vip 会员为 100元,黄金VIP为 80 元,没有登陆的普通会员则为 110元等,当每个等级会员登陆之后会显示自己所对应的价格,这样的修改对于用户体验很好,也是电商中不可缺少的一个功能,下
AB 模板王 为您整理,在Ecshop商品列表页显示每个商品的品牌的修改方法 1、首先修改 category.php 文件 将 $sql = SELECT g.goods_id, g.goods_name, g.goods_name_style, g.market_price, g.is_new, g.is_best, g.is_hot, g.shop_price AS org_price, . 修
ecshop 默认的是不支持免登录就可以进行购物的,但免登录进行购物又是一个需求,刚建立起来的独立商城并没有京东或淘宝哪么高大上,一些消费者并不愿意去注意一个 小的独立商城网店,所以有时候为了省时间就直接进行免登录购物了,这个在 ecshop 后台是可以
ecshop有一个商品的比较功能,在你点击商品旁边的比较链接就可以把商品加入到比较的框架中,很多时候,我们都需要对比较页面的样式进行修改,一是我们的页面更美观。 关于修改比较页面样式的方法: 比较页面的样式没有在在css中,而是在compare.js这个更目录