Authored by hf

do fixes bug to product detail pages

@@ -283,6 +283,9 @@ class AbstractAction extends Controller_Abstract @@ -283,6 +283,9 @@ class AbstractAction extends Controller_Abstract
283 */ 283 */
284 protected function getUid($useSession = false) 284 protected function getUid($useSession = false)
285 { 285 {
  286 + // @todo
  287 + $useSession = false;
  288 +
286 if (!$this->_uid) { 289 if (!$this->_uid) {
287 $cookie = $this->getCookie('_UID'); 290 $cookie = $this->getCookie('_UID');
288 if (!empty($cookie)) { 291 if (!empty($cookie)) {
@@ -491,8 +491,10 @@ class Helpers @@ -491,8 +491,10 @@ class Helpers
491 return false; 491 return false;
492 } 492 }
493 493
494 - //格式化订单商品  
495 - public static function formatOrderGoods($orderGoods) 494 + /**
  495 + * 格式化订单商品
  496 + */
  497 + public static function formatOrderGoods($orderGoods, &$count = 0)
496 { 498 {
497 $arr = array(); 499 $arr = array();
498 foreach ($orderGoods as $key => $vo) { 500 foreach ($orderGoods as $key => $vo) {
@@ -512,6 +514,8 @@ class Helpers @@ -512,6 +514,8 @@ class Helpers
512 if (!empty($vo['expect_arrival_time'])) { 514 if (!empty($vo['expect_arrival_time'])) {
513 $arr[$key]['appearDate'] = $vo['expect_arrival_time']; 515 $arr[$key]['appearDate'] = $vo['expect_arrival_time'];
514 } 516 }
  517 + // 累计购买数
  518 + $count += intval($vo['buy_number']);
515 } 519 }
516 return $arr; 520 return $arr;
517 } 521 }
@@ -32,36 +32,33 @@ class SearchController extends AbstractAction @@ -32,36 +32,33 @@ class SearchController extends AbstractAction
32 */ 32 */
33 public function listAction() 33 public function listAction()
34 { 34 {
35 -// // 过滤请求参数  
36 -// $condition = filter_input_array(INPUT_GET, array(  
37 -// 'query' => FILTER_DEFAULT,  
38 -// 'brand' => FILTER_DEFAULT,  
39 -// 'sort' => FILTER_DEFAULT,  
40 -// 'msort' => FILTER_DEFAULT,  
41 -// 'misort' => FILTER_DEFAULT,  
42 -// 'color' => FILTER_DEFAULT,  
43 -// 'size' => FILTER_DEFAULT,  
44 -// 'style' => FILTER_DEFAULT,  
45 -// 'price' => FILTER_DEFAULT,  
46 -// 'discount' => FILTER_DEFAULT,  
47 -// 'gender' => FILTER_DEFAULT,  
48 -// 'p_d' => FILTER_DEFAULT,), false);  
49 -//  
50 -// $query = empty($condition['query']) ? null : strtolower(trim($condition['query']));  
51 -// if (isset($condition['discount'])) {  
52 -// $condition['p_d'] = rawurldecode($condition['discount']);  
53 -// // unset($condition['discount']); 为了兼容js中传参的discount  
54 -// }  
55 -// // 为了兼容现在运营在用的p_d  
56 -// if (isset($condition['p_d'])) {  
57 -// $condition['discount'] = rawurldecode($condition['p_d']);  
58 -// }  
59 -// if (isset($condition['query'])) {  
60 -// $condition['query'] = rawurlencode($condition['query']);  
61 -// }  
62 -  
63 - $query = $this->get('query', '');  
64 - $query = is_string($query) ? '' : strtolower(trim($query)); 35 + // 过滤请求参数
  36 + $condition = filter_input_array(INPUT_GET, array(
  37 + 'query' => FILTER_DEFAULT,
  38 + 'brand' => FILTER_DEFAULT,
  39 + 'sort' => FILTER_DEFAULT,
  40 + 'msort' => FILTER_DEFAULT,
  41 + 'misort' => FILTER_DEFAULT,
  42 + 'color' => FILTER_DEFAULT,
  43 + 'size' => FILTER_DEFAULT,
  44 + 'style' => FILTER_DEFAULT,
  45 + 'price' => FILTER_DEFAULT,
  46 + 'discount' => FILTER_DEFAULT,
  47 + 'gender' => FILTER_DEFAULT,
  48 + 'p_d' => FILTER_DEFAULT,), false);
  49 +
  50 + $query = empty($condition['query']) ? null : strtolower(trim($condition['query']));
  51 + if (isset($condition['discount'])) {
  52 + $condition['p_d'] = rawurldecode($condition['discount']);
  53 + // unset($condition['discount']); 为了兼容js中传参的discount
  54 + }
  55 + // 为了兼容现在运营在用的p_d
  56 + if (isset($condition['p_d'])) {
  57 + $condition['discount'] = rawurldecode($condition['p_d']);
  58 + }
  59 + if (isset($condition['query'])) {
  60 + $condition['query'] = rawurlencode($condition['query']);
  61 + }
65 62
66 // 标识用户是否有输入搜索内容 63 // 标识用户是否有输入搜索内容
67 $haveQuery = $query !== ''; 64 $haveQuery = $query !== '';
@@ -133,13 +130,13 @@ class SearchController extends AbstractAction @@ -133,13 +130,13 @@ class SearchController extends AbstractAction
133 130
134 $classNames = array(); 131 $classNames = array();
135 } 132 }
136 -// else {  
137 -// $condition['query'] = '';  
138 -// } 133 + else {
  134 + $condition['query'] = '';
  135 + }
139 136
140 $data = array(); 137 $data = array();
141 $data['goodListPage'] = true; 138 $data['goodListPage'] = true;
142 - //$data['goodList'] = $condition; 139 + $data['goodList'] = $condition;
143 $data['query'] = $query; 140 $data['query'] = $query;
144 // 搜索是一级品类 141 // 搜索是一级品类
145 if ($isQueryFirstClass) { 142 if ($isQueryFirstClass) {
@@ -70,20 +70,21 @@ class OrderModel @@ -70,20 +70,21 @@ class OrderModel
70 if (!empty($data['data']['order_list'])) { 70 if (!empty($data['data']['order_list'])) {
71 // 订单的状态列表 71 // 订单的状态列表
72 //$orderStatus = Helpers::getOrderStatus(); 72 //$orderStatus = Helpers::getOrderStatus();
73 - 73 + $count = 0;
74 foreach ($data['data']['order_list'] as $key => $vo) { 74 foreach ($data['data']['order_list'] as $key => $vo) {
75 // if ($vo['payment_status'] == 'Y' && $vo['status'] == 0) { 75 // if ($vo['payment_status'] == 'Y' && $vo['status'] == 0) {
76 // $vo['status'] = 1; 76 // $vo['status'] = 1;
77 // } 77 // }
  78 + $count = 0;
78 //订单号,支付状态,订单商品数量,订单总价格 79 //订单号,支付状态,订单商品数量,订单总价格
79 $result[$key]['orderNum'] = $vo['order_code']; 80 $result[$key]['orderNum'] = $vo['order_code'];
80 //$result[$key]['orderStatus'] = ($vo['is_cancel'] === 'Y') ? '已取消' : $orderStatus[ $vo['payment_type'] ][ $vo['status'] ]; 81 //$result[$key]['orderStatus'] = ($vo['is_cancel'] === 'Y') ? '已取消' : $orderStatus[ $vo['payment_type'] ][ $vo['status'] ];
81 $result[$key]['orderStatus'] = $vo['status_str']; 82 $result[$key]['orderStatus'] = $vo['status_str'];
82 - $result[$key]['count'] = count($vo['order_goods']);  
83 $result[$key]['sumCost'] = $vo['amount']; 83 $result[$key]['sumCost'] = $vo['amount'];
84 //类内调用格式化订单商品数据方法 84 //类内调用格式化订单商品数据方法
85 - $result[$key]['goods'] = Helpers::formatOrderGoods($vo['order_goods']); 85 + $result[$key]['goods'] = Helpers::formatOrderGoods($vo['order_goods'], $count);
86 $result[$key]['detailUrl'] = Helpers::url('/home/orders/detail', array('order_code' => $vo['order_code'], 't' => time())); 86 $result[$key]['detailUrl'] = Helpers::url('/home/orders/detail', array('order_code' => $vo['order_code'], 't' => time()));
  87 + $result[$key]['count'] = $count;
87 //根据订单status判断订单处于什么状态。 88 //根据订单status判断订单处于什么状态。
88 do { 89 do {
89 //订单取消状态 = Y 时,跳出判断订单状态循环,并设置订单状态为已取消。 90 //订单取消状态 = Y 时,跳出判断订单状态循环,并设置订单状态为已取消。
@@ -304,7 +304,7 @@ class DetailModel @@ -304,7 +304,7 @@ class DetailModel
304 /* 参考尺码 */ 304 /* 参考尺码 */
305 $boyReference = !empty($sizeInfo['productExtra']['boyReference']); 305 $boyReference = !empty($sizeInfo['productExtra']['boyReference']);
306 $girlReference = !empty($sizeInfo['productExtra']['girlReference']); 306 $girlReference = !empty($sizeInfo['productExtra']['girlReference']);
307 - $gender = isset($sizeInfo['gender']) ? $sizeInfo['gender'] : 3; 307 + $gender = isset($sizeInfo['productDescBo']['gender']) ? $sizeInfo['productDescBo']['gender'] : 3;
308 $referenceName = '参考尺码'; 308 $referenceName = '参考尺码';
309 if (($gender == 1 && $boyReference) || ($gender == 2 && $girlReference)) { 309 if (($gender == 1 && $boyReference) || ($gender == 2 && $girlReference)) {
310 $referenceName = '参考尺码'; 310 $referenceName = '参考尺码';
@@ -23,66 +23,66 @@ class IndexController extends AbstractAction @@ -23,66 +23,66 @@ class IndexController extends AbstractAction
23 */ 23 */
24 public function indexAction() 24 public function indexAction()
25 { 25 {
26 -// // 过滤请求参数  
27 -// $condition = filter_input_array(INPUT_GET, array(  
28 -// 'brand' => FILTER_DEFAULT,  
29 -// 'sort' => FILTER_DEFAULT,  
30 -// 'msort' => FILTER_DEFAULT,  
31 -// 'misort' => FILTER_DEFAULT,  
32 -// 'color' => FILTER_DEFAULT,  
33 -// 'size' => FILTER_DEFAULT,  
34 -// 'style' => FILTER_DEFAULT,  
35 -// 'price' => FILTER_DEFAULT,  
36 -// 'discount' => FILTER_DEFAULT,  
37 -// 'gender' => FILTER_DEFAULT,  
38 -// 'p_d' => FILTER_DEFAULT,), false);  
39 -//  
40 -// // 转义品牌  
41 -// if (isset($condition['brand'])) {  
42 -// $condition['brand'] = rawurldecode($condition['brand']);  
43 -// }  
44 -// // 转义分类  
45 -// if (isset($condition['sort'])) {  
46 -// $condition['sort'] = rawurldecode($condition['sort']);  
47 -// }  
48 -// // 转义一级分类  
49 -// if (isset($condition['msort'])) {  
50 -// $condition['msort'] = rawurldecode($condition['msort']);  
51 -// }  
52 -// // 转义二级分类  
53 -// if (isset($condition['misort'])) {  
54 -// $condition['misort'] = rawurldecode($condition['misort']);  
55 -// }  
56 -// // 转义颜色  
57 -// if (isset($condition['color'])) {  
58 -// $condition['color'] = rawurldecode($condition['color']);  
59 -// }  
60 -// // 转义尺码  
61 -// if (isset($condition['size'])) {  
62 -// $condition['size'] = rawurldecode($condition['size']);  
63 -// }  
64 -// // 转义风格  
65 -// if (isset($condition['style'])) {  
66 -// $condition['style'] = rawurldecode($condition['style']);  
67 -// }  
68 -// // 转义价格  
69 -// if (isset($condition['price'])) {  
70 -// $condition['price'] = rawurldecode($condition['price']);  
71 -// }  
72 -// // 转换折扣  
73 -// if (isset($condition['discount'])) {  
74 -// $condition['p_d'] = rawurldecode($condition['discount']);  
75 -// }  
76 -// // 为了兼容现在运营在用的p_d  
77 -// if (isset($condition['p_d'])) {  
78 -// $condition['discount'] = rawurldecode($condition['p_d']);  
79 -// }  
80 -// // 性别参数,不传则从COOKIE获取  
81 -// if (!isset($condition['gender'])) {  
82 -// $condition['gender'] = Helpers::getGenderByCookie();  
83 -// } else {  
84 -// $condition['gender'] = rawurldecode($condition['gender']);  
85 -// } 26 + // 过滤请求参数
  27 + $condition = filter_input_array(INPUT_GET, array(
  28 + 'brand' => FILTER_DEFAULT,
  29 + 'sort' => FILTER_DEFAULT,
  30 + 'msort' => FILTER_DEFAULT,
  31 + 'misort' => FILTER_DEFAULT,
  32 + 'color' => FILTER_DEFAULT,
  33 + 'size' => FILTER_DEFAULT,
  34 + 'style' => FILTER_DEFAULT,
  35 + 'price' => FILTER_DEFAULT,
  36 + 'discount' => FILTER_DEFAULT,
  37 + 'gender' => FILTER_DEFAULT,
  38 + 'p_d' => FILTER_DEFAULT,), false);
  39 +
  40 + // 转义品牌
  41 + if (isset($condition['brand'])) {
  42 + $condition['brand'] = rawurldecode($condition['brand']);
  43 + }
  44 + // 转义分类
  45 + if (isset($condition['sort'])) {
  46 + $condition['sort'] = rawurldecode($condition['sort']);
  47 + }
  48 + // 转义一级分类
  49 + if (isset($condition['msort'])) {
  50 + $condition['msort'] = rawurldecode($condition['msort']);
  51 + }
  52 + // 转义二级分类
  53 + if (isset($condition['misort'])) {
  54 + $condition['misort'] = rawurldecode($condition['misort']);
  55 + }
  56 + // 转义颜色
  57 + if (isset($condition['color'])) {
  58 + $condition['color'] = rawurldecode($condition['color']);
  59 + }
  60 + // 转义尺码
  61 + if (isset($condition['size'])) {
  62 + $condition['size'] = rawurldecode($condition['size']);
  63 + }
  64 + // 转义风格
  65 + if (isset($condition['style'])) {
  66 + $condition['style'] = rawurldecode($condition['style']);
  67 + }
  68 + // 转义价格
  69 + if (isset($condition['price'])) {
  70 + $condition['price'] = rawurldecode($condition['price']);
  71 + }
  72 + // 转换折扣
  73 + if (isset($condition['discount'])) {
  74 + $condition['p_d'] = rawurldecode($condition['discount']);
  75 + }
  76 + // 为了兼容现在运营在用的p_d
  77 + if (isset($condition['p_d'])) {
  78 + $condition['discount'] = rawurldecode($condition['p_d']);
  79 + }
  80 + // 性别参数,不传则从COOKIE获取
  81 + if (!isset($condition['gender'])) {
  82 + $condition['gender'] = Helpers::getGenderByCookie();
  83 + } else {
  84 + $condition['gender'] = rawurldecode($condition['gender']);
  85 + }
86 86
87 // 品类名称参数, 不传则默认为全部 87 // 品类名称参数, 不传则默认为全部
88 $name = $this->get('sort_name'); 88 $name = $this->get('sort_name');
@@ -92,11 +92,10 @@ class IndexController extends AbstractAction @@ -92,11 +92,10 @@ class IndexController extends AbstractAction
92 $this->setTitle($name); 92 $this->setTitle($name);
93 $this->setNavHeader($name, true, SITE_MAIN); 93 $this->setNavHeader($name, true, SITE_MAIN);
94 94
95 -// if (!$condition) {  
96 -// $condition = array();  
97 -// }  
98 -// $goodList = $condition;  
99 - $goodList = array(); 95 + if (!$condition) {
  96 + $condition = array();
  97 + }
  98 + $goodList = $condition;
100 $goodList['cartUrl'] = Helpers::url('/cart/index/index', null); 99 $goodList['cartUrl'] = Helpers::url('/cart/index/index', null);
101 100
102 $this->_view->display('index', array( 101 $this->_view->display('index', array(
@@ -133,13 +132,6 @@ class IndexController extends AbstractAction @@ -133,13 +132,6 @@ class IndexController extends AbstractAction
133 $brandId = $brandLogo['id']; 132 $brandId = $brandLogo['id'];
134 } 133 }
135 134
136 - /* 通过品牌域名找到对应的品牌ID */  
137 -// $domainList = Product\ListModel::getAllBrandDomains();  
138 -// $brandIds = array_keys($domainList, $domain);  
139 -// $brandId = 0;  
140 -// if (isset($brandIds[0])) {  
141 -// $brandId = $brandIds[0];  
142 -// }  
143 // 当前的登录用户UID 135 // 当前的登录用户UID
144 $uid = $this->getUid(); 136 $uid = $this->getUid();
145 137
@@ -147,64 +139,64 @@ class IndexController extends AbstractAction @@ -147,64 +139,64 @@ class IndexController extends AbstractAction
147 $from = $this->get('from'); 139 $from = $this->get('from');
148 $query = $this->get('query'); 140 $query = $this->get('query');
149 141
150 -// /* 过滤请求参数 */  
151 -// $condition = filter_input_array(INPUT_GET, array(  
152 -// 'sort' => FILTER_DEFAULT,  
153 -// 'msort' => FILTER_DEFAULT,  
154 -// 'misort' => FILTER_DEFAULT,  
155 -// 'color' => FILTER_DEFAULT,  
156 -// 'size' => FILTER_DEFAULT,  
157 -// 'style' => FILTER_DEFAULT,  
158 -// 'price' => FILTER_DEFAULT,  
159 -// 'discount' => FILTER_DEFAULT,  
160 -// 'gender' => FILTER_DEFAULT,  
161 -// 'p_d' => FILTER_DEFAULT,), false);  
162 -// $condition['brand'] = $brandId;  
163 -// // 转义分类  
164 -// if (isset($condition['sort'])) {  
165 -// $condition['sort'] = rawurldecode($condition['sort']);  
166 -// }  
167 -// // 转义一级分类  
168 -// if (isset($condition['msort'])) {  
169 -// $condition['msort'] = rawurldecode($condition['msort']);  
170 -// }  
171 -// // 转义二级分类  
172 -// if (isset($condition['misort'])) {  
173 -// $condition['misort'] = rawurldecode($condition['misort']);  
174 -// }  
175 -// // 转义颜色  
176 -// if (isset($condition['color'])) {  
177 -// $condition['color'] = rawurldecode($condition['color']);  
178 -// }  
179 -// // 转义尺码  
180 -// if (isset($condition['size'])) {  
181 -// $condition['size'] = rawurldecode($condition['size']);  
182 -// }  
183 -// // 转义风格  
184 -// if (isset($condition['style'])) {  
185 -// $condition['style'] = rawurldecode($condition['style']);  
186 -// }  
187 -// // 转义价格  
188 -// if (isset($condition['price'])) {  
189 -// $condition['price'] = rawurldecode($condition['price']);  
190 -// }  
191 -// // 转换折扣  
192 -// if (isset($condition['discount'])) {  
193 -// $condition['p_d'] = rawurldecode($condition['discount']);  
194 -// }  
195 -// // 为了兼容现在运营在用的p_d  
196 -// if (isset($condition['p_d'])) {  
197 -// $condition['discount'] = rawurldecode($condition['p_d']);  
198 -// }  
199 -// if ($brandId === 0) {  
200 -// $condition['query'] = $domain;  
201 -// }  
202 -//  
203 -// if (isset($condition['gender'])) {  
204 -// $condition['gender'] = rawurldecode($condition['gender']);  
205 -// } else {  
206 -// $condition['gender'] = Helpers::getGenderByCookie();  
207 -// } 142 + /* 过滤请求参数 */
  143 + $condition = filter_input_array(INPUT_GET, array(
  144 + 'sort' => FILTER_DEFAULT,
  145 + 'msort' => FILTER_DEFAULT,
  146 + 'misort' => FILTER_DEFAULT,
  147 + 'color' => FILTER_DEFAULT,
  148 + 'size' => FILTER_DEFAULT,
  149 + 'style' => FILTER_DEFAULT,
  150 + 'price' => FILTER_DEFAULT,
  151 + 'discount' => FILTER_DEFAULT,
  152 + 'gender' => FILTER_DEFAULT,
  153 + 'p_d' => FILTER_DEFAULT,), false);
  154 + $condition['brand'] = $brandId;
  155 + // 转义分类
  156 + if (isset($condition['sort'])) {
  157 + $condition['sort'] = rawurldecode($condition['sort']);
  158 + }
  159 + // 转义一级分类
  160 + if (isset($condition['msort'])) {
  161 + $condition['msort'] = rawurldecode($condition['msort']);
  162 + }
  163 + // 转义二级分类
  164 + if (isset($condition['misort'])) {
  165 + $condition['misort'] = rawurldecode($condition['misort']);
  166 + }
  167 + // 转义颜色
  168 + if (isset($condition['color'])) {
  169 + $condition['color'] = rawurldecode($condition['color']);
  170 + }
  171 + // 转义尺码
  172 + if (isset($condition['size'])) {
  173 + $condition['size'] = rawurldecode($condition['size']);
  174 + }
  175 + // 转义风格
  176 + if (isset($condition['style'])) {
  177 + $condition['style'] = rawurldecode($condition['style']);
  178 + }
  179 + // 转义价格
  180 + if (isset($condition['price'])) {
  181 + $condition['price'] = rawurldecode($condition['price']);
  182 + }
  183 + // 转换折扣
  184 + if (isset($condition['discount'])) {
  185 + $condition['p_d'] = rawurldecode($condition['discount']);
  186 + }
  187 + // 为了兼容现在运营在用的p_d
  188 + if (isset($condition['p_d'])) {
  189 + $condition['discount'] = rawurldecode($condition['p_d']);
  190 + }
  191 + if ($brandId === 0) {
  192 + $condition['query'] = $domain;
  193 + }
  194 +
  195 + if (isset($condition['gender'])) {
  196 + $condition['gender'] = rawurldecode($condition['gender']);
  197 + } else {
  198 + $condition['gender'] = Helpers::getGenderByCookie();
  199 + }
208 200
209 $data = array(); 201 $data = array();
210 $data['goodListPage'] = true; 202 $data['goodListPage'] = true;