帝国论坛帝国网站管理系统交流区模板/标签/插件共享交流**shop商品支付后销售计数的功能与大家分享** 【本版专题贴子】  
 1/3     1 2 3 ›› ›|
主题:**shop商品支付后销售计数的功能与大家分享** [加入收藏夹]   

jzredfox
用户头衔:举人 *

精华贴   :0
发贴数   :207
经验值   :969
注册时间:2005-10-24
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 1 楼]
**shop商品支付后销售计数的功能与大家分享**
注明:以下修改说明为用库存改的销售计数,现在已经修改成可以累计销售和销售金额。用户名 密码 都是111 可以用111的点卡购买测试。http://doubiao.com/shop/shoujishuma/12102419866.html 库存的修改还在继续。需要保留库存的请等待最新的修改说明

----------------------------------------------------------------------------------------------------
点卡直接购买和账号划账核心处理文件   e\class\q_functions.php 找到以下一段
----------------------------------------------------------------------------------------------------
//增加订单      这一节里的后面

......

if($sql)
        {
                $ddid=$empire->lastid();
                $set=esetcookie("paymoneyddid",$ddid,0);
                SetBuycar("");
//自己修改的销售计数开始
                if($payr[payurl])
                {
                                printerror($mess,$location,1);
                }else{

        $jinjiaddon=$empire->fetch1("select ddid,ddno,buycar from {$dbtbpre}enewsshopdd where ddid='$ddid'");
        if($jinjiaddon){
                        $buycar=$jinjiaddon[buycar];
                        }
        $record="!";
        $field="|";
        $r=explode($record,$buycar);
        $j=0;
        for($i=0;$i<count($r)-1;$i++)
        {
                $j++;
                $pr=explode($field,$r[$i]);
                $productid=$pr[1];
                $fr=explode(",",$pr[1]);
                //ID
                $classid=(int)$fr[0];
                $id=(int)$fr[1];
                //数量
                $num=(int)$pr[2];
                if(empty($num))
                {
                        $num=1;
                }
                //写入商品销售计数
                $empire->query("update {$dbtbpre}ecms_shop set pmaxnum=pmaxnum+$num where id='$id' and classid='$classid'");
            }


                printerror($mess,$location,1);
                }
//自己修改的结束
        }
        else
        {
                printerror("DbError","history.go(-1)",1);
        }
}

//返回购物车数据

......

---------------------------------------------------------------------------------------
网银支付核心处理文件   e\payapi\payfun.php   找到以下一段
---------------------------------------------------------------------------------------
//商城支付
function PayApiShopPay($ddid,$money,$paybz,$orderid,$userid,$username,$ecms_paytype){
        global $empire,$dbtbpre;
        //验证是否重复提交
        $orderid=RepPostVar($orderid);
        $num=$empire->gettotal("select count(*) as total from {$dbtbpre}enewspayrecord where orderid='$orderid' limit 1");
        if($num)
        {
                printerror('您已成功购买此订单','../../ShopSys/buycar',1,0,1);
        }
        $ddr=PayApiShopDdMoney($ddid);
        if($money==$ddr['tmoney'])
        {
                $sql=$empire->query("update {$dbtbpre}enewsshopdd set haveprice=1 where ddid='$ddid'");
                $posttime=date("Y-m-d H:i:s");
                $payip=egetip();
                $userid=(int)$ddr[userid];
                $username=$ddr[username]?$ddr[username]:$ddr[truename];
                $username=RepPostStr($username);
                $paybz=str_replace('[!--ddno--]',$ddr[ddno],$paybz);
                $empire->query("insert into {$dbtbpre}enewspayrecord

(id,userid,username,orderid,money,posttime,paybz,type,payip) values

(NULL,'$userid','$username','$orderid','$money','$posttime','$paybz','$ecms_paytype','$payip');");

//自己加的销售计数
        $jinjiaddon=$empire->fetch1("select ddid,ddno,buycar from {$dbtbpre}enewsshopdd where ddid='$ddid'");
        if($jinjiaddon){
                        $buycar=$jinjiaddon[buycar];
                        }
        $record="!";
        $field="|";
        $r=explode($record,$buycar);
        $j=0;
        for($i=0;$i<count($r)-1;$i++)
        {
                $j++;
                $pr=explode($field,$r[$i]);
                $productid=$pr[1];
                $fr=explode(",",$pr[1]);
                //ID
                $classid=(int)$fr[0];
                $id=(int)$fr[1];
                //数量
                $num=(int)$pr[2];
                if(empty($num))
                {
                        $num=1;
                }
                //写入商品销售计数
                $empire->query("update {$dbtbpre}ecms_shop set pmaxnum=pmaxnum+$num where id='$id' and classid='$classid'");
            }
//自己加的结束


        }
        printerror('您已成功购买此订单','../../ShopSys/buycar',1,0,1);
}



---------------------------------------------------------------------------------------------
显示销售计数文件    e\public\ViewClick    在//digg数 这一节后增加
---------------------------------------------------------------------------------------------



//digg数
elseif($down==5)
{
        $r=$empire->fetch1("select diggtop from {$dbtbpre}ecms_".$cr['tbname']." where id='$id' limit 1");
        $shownum=$r['diggtop'];
}


//pmaxnum 增加的销售数
elseif($down==7)
{
        $r=$empire->fetch1("select pmaxnum from {$dbtbpre}ecms_".$cr['tbname']." where id='$id' limit 1");
        $shownum=$r['pmaxnum'];
}



---------------------------------------------------------------------------------
在内容模板中增加 调用销售计数代码 如下:
<script src=[!--news.url--]e/public/ViewClick?classid=[!--classid--]&id=[!--id--]&down=7></script>


特别说明:

  $down==7而不是接着=6,是因为上次发贴做了一个与顶相反的踩,那个踩是$down==6。 
 
  增加与顶相反的踩

  考虑到“库存”没有实际意义,我直接把库存字段拿来做的销售计数,以显示商品人气,当然你也可以自己新增加一个字段。然后替换上面我增加的部分的pmaxnum。

  库存也可以实现与销售计数相反的功能,把+$num改成 -$num就可以了,但要注意要新添一个判断,库存是0就提示出错,库存不足购买时也应该提示出错,中止把商品添加到购物车。

  如果需要保有留库存实时功能,我可以在抽时间慢慢点改。帝国程序,真的是没话说,好修改。(WC最不喜欢别人改他的程序了,估计这时气得冒烟了)

  中间走了点弯路,前三天的弯路走得一点意义也没有,今天一个多小时就做好了。不过前三天的路也让我对帝国的程序有了更深的了解。

  有不明白的地方可以 QQ: 224123 2562256

演示: http://doubiao.com/shop/shoujishuma/12102419866.html    用0.1元钱在线网银支付可以测试一下。点数测试请用用户111 密码 111

[该贴被修改 7 次,最后修改时间 2009-02-11 23:42:33 ]


荆楚天下 http://www.cnchu.net
2009-02-09 00:31:13 已设置保密 顶部 回复 引用 报告 编辑 删除

胡人
用户头衔:书生

精华贴   :0
发贴数   :90
经验值   :276
注册时间:2008-12-26
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 2 楼]

是吗,支持




2009-02-09 00:39:29 已设置保密 顶部 回复 引用 报告 编辑 删除

jzredfox
用户头衔:举人 *

精华贴   :0
发贴数   :207
经验值   :969
注册时间:2005-10-24
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 3 楼]

CAO.忘记了沙发是第二楼的.第一楼的要发东西的..



荆楚天下 http://www.cnchu.net
2009-02-09 00:53:36 已设置保密 顶部 回复 引用 报告 编辑 删除

饮水思源
用户头衔:探花

精华贴   :0
发贴数   :4224
经验值   :10140
注册时间:2007-05-29
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 4 楼]

不错




2009-02-09 08:22:51 已设置保密 顶部 回复 引用 报告 编辑 删除

av男
用户头衔:举人

精华贴   :0
发贴数   :239
经验值   :1060
注册时间:2008-12-27
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 5 楼]

收藏。。。




2009-02-09 09:27:38 已设置保密 顶部 回复 引用 报告 编辑 删除

flashjohn
用户头衔:探花

精华贴   :0
发贴数   :5519
经验值   :14211
注册时间:2007-11-27
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 6 楼]

暂时用不到,先收藏




2009-02-09 10:02:41 已设置保密 顶部 回复 引用 报告 编辑 删除

jzredfox
用户头衔:举人 *

精华贴   :0
发贴数   :207
经验值   :969
注册时间:2005-10-24
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 7 楼]




荆楚天下 http://www.cnchu.net
2009-02-09 10:50:10 已设置保密 顶部 回复 引用 报告 编辑 删除

takui
用户头衔:书生

精华贴   :0
发贴数   :31
经验值   :93
注册时间:2008-12-24
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 8 楼]

收藏




2009-02-09 11:09:18 已设置保密 顶部 回复 引用 报告 编辑 删除

188cn
用户头衔:探花

精华贴   :0
发贴数   :9148
经验值   :21447
注册时间:2008-10-25
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 9 楼]





2009-02-09 11:25:59 已设置保密 顶部 回复 引用 报告 编辑 删除

jzredfox
用户头衔:举人 *

精华贴   :0
发贴数   :207
经验值   :969
注册时间:2005-10-24
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 10 楼]

丫的,还是个秀才.么时成进士



荆楚天下 http://www.cnchu.net
2009-02-09 13:56:26 已设置保密 顶部 回复 引用 报告 编辑 删除
 1/3     1 2 3 ›› ›|

快速回复
内容

表情
使用EBB代码 使用smile代码 显示签名 自动分析url 自动分析img
     【进入高级模式】   (按 Ctrl+Enter 直接提交)
    顶部  加入收藏夹
关于帝国 | 广告服务 | 联系我们 | 法律声明 | 隐私条款 | 许可协议
Powered by: EBB Version 2.2.1