/** * 显示订单页面 */ 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(); }
/** * 获得栏目子孙树,不包含本栏目 * @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'); }
/** * 获取同一分类的商品数量 * @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; }