ecshop实现将商品批量加入购物车|ecshop实现将商品批量加入收藏的功能

更新时间:2019-01-19    来源:班主任工作案例    手机版     字体:

【www.bbyears.com--班主任工作案例】

现在正接触着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 里面加入下面这段代码就可以了。

 

 代码如下


/* 批量添加收藏商品(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));

 }

}

本文来源:http://www.bbyears.com/banzhurengongzuo/47394.html

热门标签

更多>>

本类排行