如何批量将商品添加到ecshop的收藏列表中?

avatar
作者
筋斗云
阅读量:0
在ECShop中,可以通过编写自定义代码或使用插件来实现商品批量加入收藏的功能。

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

如何批量将商品添加到ecshop的收藏列表中?

1、循环获取要收藏的商品ID

使用PHP的explode()函数,以特定符号(如“|”)分割商品ID字符串。'12|5|8|'

2、修改common.js文件

common.js文件中找到collect(goodsId)函数,大约在第130行。

添加一个新的函数collect_all(AllId)来处理批量收藏请求。

3、更新user.php文件

user.php文件中添加处理批量收藏的逻辑,代码示例如下:

```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); //过滤掉数组中空的值

if (!isset($_SESSION['user_id']) || $_SESSION['user_id'] == 0){

$result['error'] = 1;

$result['message'] = $_LANG['login_please'];

die($json->encode($result));

如何批量将商品添加到ecshop的收藏列表中?

}

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;

如何批量将商品添加到ecshop的收藏列表中?

$result['message'] = $GLOBALS['_LANG']['collect_success'];

die($json->encode($result));

}

}

```

4、前端调用批量收藏功能

在HTML模板文件中,添加一个链接或按钮,调用collect_all()函数并传入商品ID字符串。

```html

<a class="joinSave png" href="javascript:collect_all('12|5|8|')">加入收藏夹</a>

```

相关问题与解答

1、如何确保用户已登录才能进行批量收藏操作?

user.php中的批量收藏逻辑前,通过检查$_SESSION['user_id']来判断用户是否已登录,如果未登录,返回登录提示信息。

2、如何处理重复收藏同一商品的情况?

在插入收藏记录前,通过SQL查询检查该商品是否已存在于用户的收藏夹中,如果已存在,则不再插入新记录。

通过以上步骤和解答,您可以实现ECShop中商品的批量收藏功能,提升用户体验和操作效率。

到此,以上就是小编对于“ecshop将商品批量加入收藏的方法”的问题就介绍到这了,希望介绍的几点解答对大家有用,有任何问题和不懂的,欢迎各位朋友在评论区讨论,给我留言。

    广告一刻

    为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!