/**
  * 显示订单页面
  */
 public function settle()
 {
     // 获取用户session
     if (session('?user')) {
         $this->assign('user', session('user'));
     } else {
         redirect('/index.php/Index/index');
     }
     // 获取所有栏目
     $cate = M('Category');
     $cateTree = $cate->select();
     $cateList = getChildTree($cateTree, 0);
     foreach ($cateList as $key => $value) {
         $cateList[$key]['cate_name'] = str_repeat(' ', $value['level'] * 2) . $value['cate_name'];
     }
     $this->assign('cateList', $cateList);
     // 获取购物车session中的所有商品
     if (!session('?cart')) {
         $cart = array();
     } else {
         $cart = session('cart');
     }
     $this->assign('cart', $cart);
     // 获取购物车头信息session
     if (session('?cartInfo')) {
         $cartInfo = session('cartInfo');
     } else {
         $cartInfo['totalPrice'] = 0.0;
         $cartInfo['totalNumber'] = 0;
     }
     $this->assign('cartInfo', $cartInfo);
     $this->display();
 }
 /**
  * 显示修改密码页面
  */
 public function modifypasswd()
 {
     // 获取用户session
     $user = session('user');
     $user['regtime'] = date('Y/m/d H:i:s', $user['regtime']);
     $this->assign('user', $user);
     // 获取购物车头信息session
     if (session('?cartInfo')) {
         $cartInfo = session('cartInfo');
     } else {
         $cartInfo['totalPrice'] = 0.0;
         $cartInfo['totalNumber'] = 0;
     }
     $this->assign('cartInfo', $cartInfo);
     // 获取所有栏目
     $cate = M('Category');
     $cateTree = $cate->select();
     $cateList = getChildTree($cateTree, 0);
     // 获取导航地址链
     $cateParentTree = createLinkAddress($cateList, $goodsInfo['cate_id']);
     $this->assign('cateParentTree', $cateParentTree);
     foreach ($cateList as $key => $value) {
         $cateList[$key]['cate_name'] = str_repeat(' ', $value['level'] * 2) . $value['cate_name'];
     }
     $this->assign('cateList', $cateList);
     $this->display('modifypasswd');
 }
 /**
  * 显示购物车页面
  */
 public function cart()
 {
     // 获取用户session
     if (session('?user')) {
         $this->assign('user', session('user'));
     }
     // 获取所有栏目
     $cate = M('Category');
     $cateTree = $cate->select();
     $cateList = getChildTree($cateTree, 0);
     foreach ($cateList as $key => $value) {
         $cateList[$key]['cate_name'] = str_repeat(' ', $value['level'] * 2) . $value['cate_name'];
     }
     $this->assign('cateList', $cateList);
     // 获取购物车session中的所有商品
     if (!session('?cart')) {
         $cart = array();
     } else {
         $cart = session('cart');
     }
     $this->assign('cart', $cart);
     // 获取购物车总价格、总件数等概括信息并存入session中
     $cartInfo['totalPrice'] = 0.0;
     $cartInfo['totalNumber'] = 0;
     foreach ($cart as $k => $v) {
         $cartInfo['totalPrice'] += $v['shop_num'] * $v['shop_price'];
         $cartInfo['totalNumber'] += $v['shop_num'];
     }
     session('cartInfo', $cartInfo);
     $this->assign('cartInfo', $cartInfo);
     $this->display();
 }
 /**
  * 显示栏目页面
  */
 public function category()
 {
     // 获取用户session
     if (session('?user')) {
         $this->assign('user', session('user'));
     }
     // 获取购物车头信息session
     if (session('?cartInfo')) {
         $cartInfo = session('cartInfo');
     } else {
         $cartInfo['totalPrice'] = 0.0;
         $cartInfo['totalNumber'] = 0;
     }
     $this->assign('cartInfo', $cartInfo);
     // 获取该栏目的子孙树,包含本栏目
     $cate_id = $_GET['cate_id'];
     $cate = M('Category');
     $cateTree = $cate->select();
     $childCateTree = getChildTree($cateTree, $cate_id);
     $oneCate = $cate->where('id=' . $cate_id)->find();
     $oneCate['level'] = 0;
     array_unshift($childCateTree, $oneCate);
     $this->assign('cateTree', $childCateTree);
     // 获取本栏目名称,用于导航条输出
     $this->assign('oneCate', $oneCate);
     // 获取所有栏目
     $cateList = getChildTree($cateTree, 0);
     foreach ($cateList as $key => $value) {
         $cateList[$key]['cate_name'] = str_repeat(' ', $value['level'] * 2) . $value['cate_name'];
     }
     $this->assign('cateList', $cateList);
     // 获取对应栏目下的所有商品并分页
     $goods = M('Goods');
     // 将栏目子孙树的cate_id拼接成以逗号分隔的字符串
     $cateStr = '';
     foreach ($childCateTree as $v) {
         $cateStr .= $v['id'] . ',';
     }
     $cateStr = substr($cateStr, 0, strlen($cateStr) - 1);
     $list = $goods->where("cate_id in ({$cateStr}) AND is_delete=0")->page($_GET['p'] . ',6')->select();
     $this->assign('goodsList', $list);
     // 赋值数据集
     import("ORG.Util.Page");
     // 导入分页类
     $count = $goods->where("cate_id in ({$cateStr}) AND is_delete=0")->count();
     // 查询满足要求的总记录数
     $page = new Page($count, 6);
     // 实例化分页类 传入总记录数和每页显示的记录数
     $page->setConfig('header', '件商品');
     // 配置分页显示输出样式
     $show = $page->show();
     // 分页显示输出
     $this->assign('page', $show);
     // 赋值分页输出
     $this->display();
 }
Example #5
0
/**
 * 获得栏目子孙树,不包含本栏目
 * @param  array  $cateTree 所有栏目的数组
 * @param  integer  $cate_id  所要查找的栏目id号
 * @param  integer $level    用于缩进级数
 * @return array    结果集
 */
function getChildTree($cateTree, $cate_id, $level = 1)
{
    $tree = array();
    foreach ($cateTree as $v) {
        if ($v['parent_id'] == $cate_id) {
            $v['level'] = $level;
            $tree[] = $v;
            $tree = array_merge($tree, getChildTree($cateTree, $v['id'], $level + 1));
        }
    }
    return $tree;
}
 /**
  * 添加商品页面
  */
 public function showAdd()
 {
     $cate = M('Category');
     $cateTree = $cate->select();
     $cateList = getChildTree($cateTree, 0);
     foreach ($cateList as $key => $value) {
         $cateList[$key]['cate_name'] = str_repeat(' ', $value['level'] * 2) . $value['cate_name'];
     }
     $this->assign('cate_list', $cateList);
     $this->assign('tab', 'kysc');
     $this->assign('subtab', 'splb');
     $this->display('add');
 }
 /**
  * 显示订单详情页面
  */
 public function orderdesc()
 {
     // 获取用户session
     if (session('?user')) {
         $this->assign('user', session('user'));
     }
     // 获取购物车头信息session
     if (session('?cartInfo')) {
         $cartInfo = session('cartInfo');
     } else {
         $cartInfo['totalPrice'] = 0.0;
         $cartInfo['totalNumber'] = 0;
     }
     $this->assign('cartInfo', $cartInfo);
     // 获取所有栏目
     $cate = M('Category');
     $cateTree = $cate->select();
     $cateList = getChildTree($cateTree, 0);
     // 获取导航地址链
     $cateParentTree = createLinkAddress($cateList, $goodsInfo['cate_id']);
     $this->assign('cateParentTree', $cateParentTree);
     foreach ($cateList as $key => $value) {
         $cateList[$key]['cate_name'] = str_repeat(' ', $value['level'] * 2) . $value['cate_name'];
     }
     $this->assign('cateList', $cateList);
     // 获取指定订单详细信息
     $orderInfo = M('Order_info');
     $oneOrder = $orderInfo->where("order_sn='" . $_GET['order_sn'] . "'")->find();
     $orderGoods = M('Order_goods');
     $orderGoodsList = $orderGoods->where("order_sn='" . $_GET['order_sn'] . "'")->select();
     $goods = M('Goods');
     foreach ($orderGoodsList as $k => $v) {
         $orderGoodsList[$k] = array_merge($orderGoodsList[$k], $goods->field('goods_name,shop_price,market_price,thumb_img')->where("goods_sn='" . $v['goods_sn'] . "'")->find());
     }
     // 处理订单信息
     $oneOrder['add_time'] = date('Y/m/d H:i:s', $oneOrder['add_time']);
     if ($oneOrder['payment_method'] == 1) {
         $oneOrder['payment_method'] = '货到付款';
     } else {
         $oneOrder['payment_method'] = '网上支付';
     }
     $this->assign('oneOrder', $oneOrder);
     $this->assign('orderGoodsList', $orderGoodsList);
     $this->display('orderdesc');
 }
 /**
  * 显示主页面
  */
 public function index()
 {
     // 获取用户session
     if (session('?user')) {
         $this->assign('user', session('user'));
     }
     // 获取购物车头信息session
     if (session('?cartInfo')) {
         $cartInfo = session('cartInfo');
     } else {
         $cartInfo['totalPrice'] = 0.0;
         $cartInfo['totalNumber'] = 0;
     }
     $this->assign('cartInfo', $cartInfo);
     // 获取五件新品
     $m = M('Goods');
     $newGoods = $m->where('is_new=1 AND is_delete=0')->limit(5)->select();
     $this->assign('newGoods', $newGoods);
     // 获取五件男装
     $cate = M('Category');
     $cateTree = $cate->select();
     $childCateTree = getChildTree($cateTree, 2);
     $manGoods = array();
     foreach ($childCateTree as $v1) {
         $manGoods = array_merge($manGoods, $m->where(array('cate_id' => $v1['id'], 'is_delete' => 0))->select());
     }
     // dump($childCateTree);exit;
     $this->assign('manGoods', $manGoods);
     // 获取五件女装
     unset($childCateTree);
     $childCateTree = getChildTree($cateTree, 5);
     $womanGoods = array();
     foreach ($childCateTree as $v2) {
         $womanGoods = array_merge($womanGoods, $m->where(array('cate_id' => $v2['id'], 'is_delete' => 0))->select());
     }
     $this->assign('womanGoods', $womanGoods);
     // 获取所有栏目
     $cateList = getChildTree($cateTree, 1);
     foreach ($cateList as $key => $value) {
         $cateList[$key]['cate_name'] = str_repeat(' ', $value['level'] * 2) . $value['cate_name'];
     }
     $this->assign('cateList', $cateList);
     $this->display();
 }
 /**
  * 显示修改栏目页面
  */
 public function showEdit()
 {
     // 获取所有栏目
     $cateTable = M('Category');
     $cateTree = $cateTable->select();
     $cateList = getChildTree($cateTree, 0);
     foreach ($cateList as $key => $value) {
         $cateList[$key]['cate_name'] = str_repeat(' ', $value['level'] * 2) . $value['cate_name'];
     }
     $this->assign('cate_list', $cateList);
     // 获取传递过来的栏目信息
     $oneCate = $cateTable->where('id=' . $_REQUEST['cate_id'])->find();
     $oneCate['create_time'] = date("Y-m-d H:i", $oneCate['create_time']);
     $oneCate['parent_name'] = getPnameByCateId($oneCate['parent_id']);
     $oneCate['goods_quantity'] = getGoodsNumByCateId($oneCate['id']);
     $this->assign('one_cate', $oneCate);
     $this->assign('tab', 'kysc');
     $this->assign('subtab', 'spfl');
     $this->display('edit');
 }
 /**
  * 搜索商品功能,并显示在栏目页面中
  */
 public function search()
 {
     $searchTxt = $_GET['searchTxt'];
     $searchType = $_GET['searchType'];
     $cate = D('Category');
     $cateTree = $cate->select();
     $cateList = getChildTree($cateTree, $searchType);
     $cateStr = "{$searchType},";
     foreach ($cateList as $v) {
         $cateStr .= $v['id'] . ',';
     }
     $cateStr = substr($cateStr, 0, strlen($cateList) - 1);
     $data['goods_name'] = array('like', "%{$searchTxt}%");
     $data['cate_id'] = array('in', $cateStr);
     $goods = M('Goods');
     $searchGoods = $goods->where($data)->page($_GET['p'] . ',6')->select();
     $this->assign('goodsList', $searchGoods);
     // 赋值数据集
     import("ORG.Util.Page");
     // 导入分页类
     $count = $goods->where($data)->count();
     // 查询满足要求的总记录数
     $page = new Page($count, 6);
     // 实例化分页类 传入总记录数和每页显示的记录数
     $page->setConfig('header', '件商品');
     // 配置分页显示输出样式
     $show = $page->show();
     // 分页显示输出
     $this->assign('page', $show);
     // 赋值分页输出
     // 获取用户session
     if (session('?user')) {
         $this->assign('user', session('user'));
     }
     // 获取购物车头信息session
     if (session('?cartInfo')) {
         $cartInfo = session('cartInfo');
     } else {
         $cartInfo['totalPrice'] = 0.0;
         $cartInfo['totalNumber'] = 0;
     }
     $this->assign('cartInfo', $cartInfo);
     // 获取该栏目的子孙树,包含本栏目
     $cate = M('Category');
     $cateTree = $cate->select();
     $childCateTree = getChildTree($cateTree, $searchType);
     if (0 != $searchType) {
         $oneCate = $cate->where('id=' . $searchType)->find();
     } else {
         $oneCate['cate_name'] = '所有分类';
     }
     $oneCate['level'] = 0;
     array_unshift($childCateTree, $oneCate);
     $this->assign('cateTree', $childCateTree);
     // 获取本栏目名称,用于导航条输出
     $this->assign('oneCate', $oneCate);
     // 获取所有栏目
     $cateList2 = getChildTree($cateTree, 0);
     foreach ($cateList2 as $key => $value) {
         $cateList2[$key]['cate_name'] = str_repeat(' ', $value['level'] * 2) . $value['cate_name'];
     }
     $this->assign('cateList', $cateList2);
     $this->display('Category:category');
 }
Example #11
0
/**
 * 获取同一分类的商品数量
 * @param integer $id 查询id
 * @return integer 该分类下总商品数量
 */
function getGoodsNumByCateId($id)
{
    $category = M('Category');
    $goods = M('Goods');
    $cateList = $category->select();
    $childList = getChildTree($cateList, $id);
    $childList[] = $category->where('id=' . $id)->find();
    $cateStr = '';
    foreach ($childList as $v) {
        $cateStr .= $v['id'] . ',';
    }
    if (strlen($cateStr) > 0) {
        $cateStr = substr($cateStr, 0, strlen($cateStr) - 1);
    }
    $map['cate_id'] = array('in', $cateStr);
    $cnt = $goods->where($map)->count();
    return $cnt;
}