ECSHOP全站调用购物车显示商品图片,价格,数量,总价等详细信息

Wesley13
• 阅读 617

步骤重新梳理了一下:

支持原创,感谢分享!

效果图:

ECSHOP全站调用购物车显示商品图片,价格,数量,总价等详细信息 ECSHOP全站调用购物车显示商品图片,价格,数量,总价等详细信息

下载 (32.53 KB)

2012-8-14 14:51

第一步: 在/thmes/你的 模板/library/
新建一个库 文件:  cart_info.lbi
代码:

  1. {$goods_number}
    ¥{$order_amount}
    去结算

    • 暂无商品

      • 复制代码

        文件下载: ECSHOP全站调用购物车显示商品图片,价格,数量,总价等详细信息 cart_info.rar (715 Bytes)

        下载次数: 542

        2012-8-14 14:52

        第二步打开: includes/lib_insert.php
        大约102行

        1. function insert_cart_info() {

        复制代码

        一直到:

        1. /**

        2. * 调用指定的广告位的广告

        复制代码

        之间的代码全部替换为:

        1. /**

        2. * 调用购物车信息

        3. *

        4. * @access  public

        5. * @return  string

        6. */

        7. function insert_cart_info()

        8. {

        9.     $sql = 'SELECT
          c.*,g.goods_name,g.goods_thumb,g.goods_id,c.goods_number,c.goods_price' .

        10.            ' FROM ' . $GLOBALS['ecs']->table('cart') ." AS c ".

        11.                                          " LEFT JOIN
          ".$GLOBALS['ecs']->table('goods')." AS g ON g.goods_id=c.goods_id ".

        12.            " WHERE session_id = '" . SESS_ID . "' AND rec_type = '" .
          CART_GENERAL_GOODS . "'";

        13.     $row = $GLOBALS['db']->GetAll($sql);

        14.                 $arr = array();

        15.                 foreach($row AS $k=>$v)

        16.                 {

        17.                             
             $arr[$k]['goods_thumb']  =get_image_path($v['goods_id'], $v['goods_thumb'],
          true);

        18.         $arr[$k]['short_name']   = $GLOBALS['_CFG']['goods_name_length']
          > 0 ?

        19.                                                sub_str($v['goods_name'],
          $GLOBALS['_CFG']['goods_name_length']) : $v['goods_name'];

        20.                                 $arr[$k]['url']          =
          build_uri('goods', array('gid' => $v['goods_id']), $v['goods_name']);

        21.                                 $arr[$k]['goods_number'] =
          $v['goods_number'];

        22.                                 $arr[$k]['goods_name']   =
          $v['goods_name'];

        23.                                 $arr[$k]['goods_price']  =
          price_format($v['goods_price']);

        24.                                 $arr[$k]['rec_id']       = $v['rec_id'];

        25.                  }

        26.     $sql = 'SELECT SUM(goods_number) AS number, SUM(goods_price *
          goods_number) AS amount' .

        27.            ' FROM ' . $GLOBALS['ecs']->table('cart') .

        28.            " WHERE session_id = '" . SESS_ID . "' AND rec_type = '" .
          CART_GENERAL_GOODS . "'";

        29.     $row = $GLOBALS['db']->GetRow($sql);

        30.     if ($row)

        31.     {

        32.         $number = intval($row['number']);

        33.         $amount = floatval($row['amount']);

        34.     }

        35.     else

        36.     {

        37.         $number = 0;

        38.         $amount = 0;

        39.     }

        40.    
          $GLOBALS['smarty']->assign('str',sprintf($GLOBALS['_LANG']['cart_info'],
          $number, price_format($amount, false)));

        41.         $GLOBALS['smarty']->assign('goods',$arr);

        42.         $GLOBALS['smarty']->assign('goods_number',$number);

        43.         $GLOBALS['smarty']->assign('order_amount',$amount);

        44.     $output = $GLOBALS['smarty']->fetch('library/cart_info.lbi');

        45.     return $output;

        46. }

        复制代码

        第三步:
        打开js/common.js
        最后面添加:

        1. // 自定义购物车删除

        2. function deleteCartGoods(rec_id)

        3. {

        4. Ajax.call('delete_cart_goods.php', 'id='+rec_id, deleteCartGoodsResp**e,
          'POST', 'JSON');

        5. }

        6. /**

        7. * 接收删除后返回的信息

        8. */

        9. function deleteCartGoodsResp**e(res)

        10. {

        11.   if (res.error)

        12.   {

        13.     alert(res.err_msg);

        14.   }

        15.   else

        16.   {

        17.       document.getElementById('ECS_CARTINFO').innerHTML = res.content;

        18.   }

        19. }

        复制代码

        其中的星号**替换为o+n+s 中间的+号去掉,这三个字母是被屏蔽的.
        第四步: 打开
        thmes/你的模板/style.css
        最后添加:

        1. /*购物车*/

        2.    .cart{ position:absolute; z-index:9px; right:0px; _right:-5px; top:4px;
          width:190px; padding-right:5px; height:26px; line-height:26px;

        3.    }

        4.    .cart a.js{ text-indent:-999px; overflow:hidden; display:inline-block;
          height:26px; float:right; width:38px;}

        5.    .cart_sp { display:block; float:left; height:26px; line-height:26px;
          width:150px;}

        6.    .cart_sp .right {_width:70px; padding-right:10px;  text-align:right;}

        7.    .cart_sp .left {_width:70px;text-indent:30px;}

        8.    .cart_box { display:none;}

        9.    .on .cart_box { display:block; background:#fff; border:1px solid #ddd;
          width:300px; margin:5px 0 0 -106px; _margin:5px -8px 0 0;}

        10.    .ie6left {_float:left;}

        11.    .ptt {background:url(images/suning.png) no-repeat 0 -80px;}

        12.    .onp .ptt {text-indent:30px; }

        13.    .on .ptt,.onp .ptt {_float:right; _width:195px; background-position:0px
          -80px;}

        14.    .divt {_width:300px;}

        15.    .cart_box li { height:auto; text-indent:0px; padding:8px; color:#777;
          border-bottom:1px dashed #dedede; _height:48px;}

        16.    .cart_box li.nobk { background:#fafafa;}

        17.    .cart_box li p.sgoodc { width:163px; overflow:hidden;}

        18.    .cart_box li p.sgoodc span,.cart_box li p.sgoodt span,.cart_box li p
          a.del{ display:block; height:18px; line-height:18px; overflow:hidden;}

        19.    .cart_box li p.sgoodt { width:65px; float:right; text-align:right;
          overflow:hidden; color:#ff6600;}

        20.    .cart_box li p a.name { color:#333; text-decoration:none; height:22px;
          overflow:hidden;}

        21.    .cart_box li p a:hover.name,.zllcart a:hover.right {
          text-decoration:underline;}

        22.    .cart_box li p a.del { color:#777; text-decoration:none; margin-top:5px;
          }

        23.    .cart_box li p a:hover.del { color:#333;
          text-decoration:line-through;}

        24.    .cart_box li.zllcart { padding:0 8px; border-bottom:0;_height:24px;}

        25.    .zllcart em,.zllcart a.right {
          color:#ff6600;text-decoration:none;}

        复制代码

        第五步,在根 目录
        新建一个delete_cart_goods.php文件,

        1. define('IN_ECS', true);

        2. require(dirname(__FILE__) . '/includes/init.php');

        3. include_once('includes/cls_json.php');

        4. $result = array('error' => 0, 'message' => '', 'content' => '',
          'goods_id' => '');

        5. $json  = new JSON;

        6. if($_POST['id'])

        7. {

        8. $sql = 'DELETE FROM '.$GLOBALS['ecs']->table('cart')." WHERE
          rec_id=".$_POST['id'];

        9. $GLOBALS['db']->query($sql);

        10. }

        11. $sql = 'SELECT
          c.*,g.goods_name,g.goods_thumb,g.goods_id,c.goods_number,c.goods_price' .

        12.                          ' FROM ' . $GLOBALS['ecs']->table('cart') ." AS
          c ".

        13.                          " LEFT JOIN ".$GLOBALS['ecs']->table('goods')."
          AS g ON g.goods_id=c.goods_id ".

        14.                          " WHERE session_id = '" . SESS_ID . "' AND rec_type
          = '" . CART_GENERAL_GOODS . "'";

        15. $row = $GLOBALS['db']->GetAll($sql);

        16. $arr = array();

        17. foreach($row AS $k=>$v)

        18. {

        19.                 $arr[$k]['goods_thumb']  =get_image_path($v['goods_id'],
          $v['goods_thumb'], true);

        20.                 $arr[$k]['short_name']   =
          $GLOBALS['_CFG']['goods_name_length'] > 0 ?

                                                                                    
                                                                                        
                   sub_str($v['goods_name'], $GLOBALS['_CFG']['goods_name_length']) :
        $v['goods_name'];

        1.                 $arr[$k]['url']          = build_uri('goods', array('gid'
          => $v['goods_id']), $v['goods_name']);

        2.                 $arr[$k]['goods_number'] = $v['goods_number'];

        3.                 $arr[$k]['goods_name']   = $v['goods_name'];

        4.                 $arr[$k]['goods_price']  =
          price_format($v['goods_price']);

        5.                 $arr[$k]['rec_id']       = $v['rec_id'];

        6. }

        7. $sql = 'SELECT SUM(goods_number) AS number, SUM(goods_price * goods_number)
          AS amount' .

        8.                          ' FROM ' . $GLOBALS['ecs']->table('cart') .

        9.                          " WHERE session_id = '" . SESS_ID . "' AND rec_type
          = '" . CART_GENERAL_GOODS . "'";

        10. $row = $GLOBALS['db']->GetRow($sql);

        11. if ($row)

        12. {

        13.                 $number = intval($row['number']);

        14.                 $amount = floatval($row['amount']);

        15. }

        16. else

        17. {

        18.                 $number = 0;

        19.                 $amount = 0;

        20. }

        21. $GLOBALS['smarty']->assign('str',sprintf($GLOBALS['_LANG']['cart_info'],
          $number, price_format($amount, false)));

        22. $GLOBALS['smarty']->assign('goods',$arr);

        23. $GLOBALS['smarty']->assign('goods_number',$number);

        24. $GLOBALS['smarty']->assign('order_amount',$amount);

        25. $result['content'] =
          $GLOBALS['smarty']->fetch('library/cart_info.lbi');

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

        27. ?>

        复制代码

        文件下载: ECSHOP全站调用购物车显示商品图片,价格,数量,总价等详细信息 delete_cart_goods.rar (940 Bytes)

        下载次数: 418

        2012-8-14
        14:54

        使用下面的代码即可全站调用购物车:

        1. {insert_scripts files='transport.js'}

        2. {insert name='cart_info'}

        复制代码

  • 点赞
    收藏
    评论区
    推荐文章
    blmius blmius
    3年前
    MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
    文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
    皕杰报表之UUID
    ​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
    待兔 待兔
    4个月前
    手写Java HashMap源码
    HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
    Jacquelyn38 Jacquelyn38
    3年前
    2020年前端实用代码段,为你的工作保驾护航
    有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
    Wesley13 Wesley13
    3年前
    mysql设置时区
    mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
    Wesley13 Wesley13
    3年前
    00:Java简单了解
    浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
    Stella981 Stella981
    3年前
    Django中Admin中的一些参数配置
    设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
    Stella981 Stella981
    3年前
    Docker 部署SpringBoot项目不香吗?
      公众号改版后文章乱序推荐,希望你可以点击上方“Java进阶架构师”,点击右上角,将我们设为★“星标”!这样才不会错过每日进阶架构文章呀。  !(http://dingyue.ws.126.net/2020/0920/b00fbfc7j00qgy5xy002kd200qo00hsg00it00cj.jpg)  2
    Wesley13 Wesley13
    3年前
    MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
    背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
    Python进阶者 Python进阶者
    10个月前
    Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
    大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这