Authored by 周少峰

列表sale页面搜索条件调整

@@ -125,7 +125,7 @@ class HelperSearch @@ -125,7 +125,7 @@ class HelperSearch
125 ), 125 ),
126 'goods' => $result['product_list'], 126 'goods' => $result['product_list'],
127 'allSort' => array( 127 'allSort' => array(
128 - 'updateNum' => $result['filter']['group_sort']['all']['num'], 128 + //'updateNum' => $result['filter']['group_sort']['all']['num'],
129 'list' => $result['filter']['group_sort']['list'] 129 'list' => $result['filter']['group_sort']['list']
130 ), 130 ),
131 'advNav' => array(), 131 'advNav' => array(),
@@ -144,9 +144,20 @@ class HelperSearch @@ -144,9 +144,20 @@ class HelperSearch
144 public static function getProductList($product,$imgSize){ 144 public static function getProductList($product,$imgSize){
145 $result = array(); 145 $result = array();
146 foreach($product as $key => $val){ 146 foreach($product as $key => $val){
  147 + //NEW
147 $isNew = $val['is_new'] == 'Y' ? true : false; 148 $isNew = $val['is_new'] == 'Y' ? true : false;
148 - $isFew = $val['is_soon_sold_out'] == 'Y' ? true : false; 149 + //限量商品
  150 + $isLimit = isset($val['is_limited']) && $val['is_limited'] === 'Y';
  151 + //即将售罄
  152 + $isFew = $val['is_soon_sold_out'] === 'Y' ? true : false;
149 $is_promotion = $val['is_promotion']; 153 $is_promotion = $val['is_promotion'];
  154 +
  155 + //SALE
  156 + //新品节
  157 + //再到着
  158 + //年终大促
  159 + // 年中大促
  160 +
150 foreach($val['goods_list'] as $k => $v){ 161 foreach($val['goods_list'] as $k => $v){
151 $goods_list[$k]['url'] = Helpers::getUrlBySkc($val['product_id'], $v['goods_id'], $val['cn_alphabet']); 162 $goods_list[$k]['url'] = Helpers::getUrlBySkc($val['product_id'], $v['goods_id'], $val['cn_alphabet']);
152 } 163 }
@@ -156,13 +167,16 @@ class HelperSearch @@ -156,13 +167,16 @@ class HelperSearch
156 $result[] = array( 167 $result[] = array(
157 'tags' => array( 168 'tags' => array(
158 'isNew' => $isNew, 169 'isNew' => $isNew,
  170 + 'isLimit' => $isLimit,
159 'isYearEndPromotion' => $is_promotion 171 'isYearEndPromotion' => $is_promotion
160 ), 172 ),
161 'url' => $goods_list[0]['url'], 173 'url' => $goods_list[0]['url'],
162 'thumb' => $val['default_images'], 174 'thumb' => $val['default_images'],
163 'name' => $val['product_name'], 175 'name' => $val['product_name'],
164 'salePrice' => $val['sales_price'], 176 'salePrice' => $val['sales_price'],
165 - 'isFew' => $isFew 177 + 'marketPrice' => $val['market_price'],
  178 + 'isFew' => $isFew,
  179 + 'skn' => $val['product_skn']
166 ); 180 );
167 } 181 }
168 return $result; 182 return $result;
@@ -256,12 +270,6 @@ class HelperSearch @@ -256,12 +270,6 @@ class HelperSearch
256 * @param array $params 270 * @param array $params
257 * @return array 271 * @return array
258 */ 272 */
259 - /**  
260 - * 组织搜索列表页面的左侧分类  
261 - * @param array $sort  
262 - * @param array $params  
263 - * @return array  
264 - */  
265 public static function groupSort($sort, $option = array()) { 273 public static function groupSort($sort, $option = array()) {
266 $params = self::$params; 274 $params = self::$params;
267 $gender = isset($params['gender']) ? $params['gender'] : ''; 275 $gender = isset($params['gender']) ? $params['gender'] : '';
@@ -295,8 +303,8 @@ class HelperSearch @@ -295,8 +303,8 @@ class HelperSearch
295 'sort_id' => 0, 303 'sort_id' => 0,
296 'name' => '全部品类', 304 'name' => '全部品类',
297 'href' => self::buildurl($query) , 305 'href' => self::buildurl($query) ,
298 - 'num' => 0,  
299 - 'selected' => '' 306 +// 'num' => 0,
  307 + 'active' => ''
300 ) , 308 ) ,
301 'list' => array() 309 'list' => array()
302 ); 310 );
@@ -311,12 +319,12 @@ class HelperSearch @@ -311,12 +319,12 @@ class HelperSearch
311 )) 319 ))
312 ); 320 );
313 } 321 }
314 - $result['all']['num']+= $val['count']; 322 + //$result['all']['num']+= $val['count'];
315 $msort = array( 323 $msort = array(
316 'sort_id' => $val['sort_id'], 324 'sort_id' => $val['sort_id'],
317 'name' => $val['sort_name'], 325 'name' => $val['sort_name'],
318 - 'num' => $val['count'],  
319 - 'selected' => isset($params['msort']) && $params['msort'] == $val['sort_id'] ? true : false, 326 +// 'num' => $val['count'],
  327 + 'active' => isset($params['msort']) && $params['msort'] == $val['sort_id'] ? true : false,
320 'href' => self::buildurl(array_merge($query, array( 328 'href' => self::buildurl(array_merge($query, array(
321 'msort' => $val['sort_id'] 329 'msort' => $val['sort_id']
322 ))) , 330 ))) ,
@@ -328,8 +336,8 @@ class HelperSearch @@ -328,8 +336,8 @@ class HelperSearch
328 $sub[] = array( 336 $sub[] = array(
329 'sort_id' => $val['sort_id'], 337 'sort_id' => $val['sort_id'],
330 'name' => '全部' . $val['sort_name'], 338 'name' => '全部' . $val['sort_name'],
331 - 'num' => $val['count'],  
332 - 'selected' => !isset($params['misort']) && isset($params['msort']) && $params['msort'] == $val['sort_id'] ? true : false, 339 +// 'num' => $val['count'],
  340 + 'childActive' => !isset($params['misort']) && isset($params['msort']) && $params['msort'] == $val['sort_id'] ? true : false,
333 'href' => self::buildurl(array_merge($query, array( 341 'href' => self::buildurl(array_merge($query, array(
334 'msort' => $val['sort_id'] 342 'msort' => $val['sort_id']
335 ))) , 343 ))) ,
@@ -346,8 +354,8 @@ class HelperSearch @@ -346,8 +354,8 @@ class HelperSearch
346 $sub[] = array( 354 $sub[] = array(
347 'sort_id' => $mval['sort_id'], 355 'sort_id' => $mval['sort_id'],
348 'name' => $mval['sort_name'], 356 'name' => $mval['sort_name'],
349 - 'num' => $mval['count'],  
350 - 'selected' => isset($params['misort']) && $params['misort'] == $mval['sort_id'] ? true : false, 357 +// 'num' => $mval['count'],
  358 + 'childActive' => isset($params['misort']) && $params['misort'] == $mval['sort_id'] ? true : false,
351 'href' => self::buildurl(array_merge($query, array( 359 'href' => self::buildurl(array_merge($query, array(
352 'msort' => $val['sort_id'], 360 'msort' => $val['sort_id'],
353 'misort' => $mval['sort_id'] 361 'misort' => $mval['sort_id']
@@ -448,7 +456,7 @@ class HelperSearch @@ -448,7 +456,7 @@ class HelperSearch
448 'name' => $v['brand_name'], 456 'name' => $v['brand_name'],
449 'alif' => $v['brand_alif'], 457 'alif' => $v['brand_alif'],
450 'href' => $url, 458 'href' => $url,
451 - 'selected' => in_array($v['id'], $brand_ids) ? true : false 459 + 'active' => in_array($v['id'], $brand_ids) ? true : false
452 ); 460 );
453 461
454 if (count($result['default']) < 10) { 462 if (count($result['default']) < 10) {
@@ -1058,6 +1066,8 @@ class HelperSearch @@ -1058,6 +1066,8 @@ class HelperSearch
1058 * @return array 1066 * @return array
1059 */ 1067 */
1060 public static function getDiscount(array $list = array()) { 1068 public static function getDiscount(array $list = array()) {
  1069 + $params = self::$params;
  1070 +
1061 if (empty($list)) { 1071 if (empty($list)) {
1062 return array(); 1072 return array();
1063 } 1073 }
@@ -1077,11 +1087,11 @@ class HelperSearch @@ -1077,11 +1087,11 @@ class HelperSearch
1077 $total+= $v['count']; 1087 $total+= $v['count'];
1078 $query['p_d'] = $k; 1088 $query['p_d'] = $k;
1079 $list[$k]['href'] = self::buildurl($query); 1089 $list[$k]['href'] = self::buildurl($query);
1080 - $list[$k]['num'] = $total;  
1081 - $list[$k]['selected'] = isset($params['p_d']) && $params['p_d'] == $k ? true : false; 1090 + //$list[$k]['num'] = $total;
  1091 + $list[$k]['active'] = isset($params['p_d']) && $params['p_d'] == $k ? true : false;
1082 } 1092 }
1083 $result = array( 1093 $result = array(
1084 - 'updateNum' => $total, 1094 + //'updateNum' => $total,
1085 'list' => $list 1095 'list' => $list
1086 ); 1096 );
1087 return $result; 1097 return $result;
@@ -1115,12 +1125,12 @@ class HelperSearch @@ -1115,12 +1125,12 @@ class HelperSearch
1115 $query['shelve_time'] = ''; 1125 $query['shelve_time'] = '';
1116 $query['shelve_time'] = $star_time.','.$end_time; 1126 $query['shelve_time'] = $star_time.','.$end_time;
1117 @$data[$i]['href'] = self::buildurl($query); 1127 @$data[$i]['href'] = self::buildurl($query);
1118 - $data[$i]['num'] = $v; 1128 + //$data[$i]['num'] = $v;
1119 $data[$i]['name'] = $k; 1129 $data[$i]['name'] = $k;
1120 $i++; 1130 $i++;
1121 } 1131 }
1122 $result = array( 1132 $result = array(
1123 - 'updateNum' => $total, 1133 + //'updateNum' => $total,
1124 'list' => $data 1134 'list' => $data
1125 ); 1135 );
1126 return $result; 1136 return $result;
@@ -1150,4 +1160,23 @@ class HelperSearch @@ -1150,4 +1160,23 @@ class HelperSearch
1150 } 1160 }
1151 return self::buildurl($param); 1161 return self::buildurl($param);
1152 } 1162 }
  1163 +
  1164 + /**
  1165 + * 组织产品
  1166 + * @param $product
  1167 + * @param $options
  1168 + * @return array
  1169 + */
  1170 + public static function getProductPic($product, $options)
  1171 + {
  1172 + $result = array();
  1173 + if (isset($product[0]['goods_list']) && !empty($product[0]['goods_list'])){
  1174 + foreach ($product[0]['goods_list'] as $key => $val){
  1175 + $result[$key]['coverImg'] = Images::getImageUrl($val['images_url'], $options['imgSize'][0], $options['imgSize'][1]);
  1176 + $result[$key]['url'] = Helpers::getUrlBySkc($product[0]['product_id'], $val['goods_id'], $product[0]['cn_alphabet']);
  1177 + $result[$key]['src'] = Images::getImageUrl($val['images_url'], $options['imgSize'][0], $options['imgSize'][1]);
  1178 + }
  1179 + }
  1180 + return $result;
  1181 + }
1153 } 1182 }
  1 +{{> layout/header}}
  2 +<div class="product-search-page product-page yoho-page center-content">
  3 + {{# search}}
  4 + {{> layout/path-nav}}
  5 +
  6 + {{> product/standard-content}}
  7 +
  8 + {{> product/latest-walk}}
  9 + {{/ search}}
  10 +</div>
  11 +{{> layout/footer}}
@@ -95,7 +95,7 @@ exports.init = function(num) { @@ -95,7 +95,7 @@ exports.init = function(num) {
95 }); 95 });
96 $.ajax({ 96 $.ajax({
97 type: 'POST', 97 type: 'POST',
98 - url: '/product/index/getProductPic', 98 + url: '/product/list/getProductPic',
99 dataType: 'json', 99 dataType: 'json',
100 data: { 100 data: {
101 skn: event.target.attr('data-skn') 101 skn: event.target.attr('data-skn')
@@ -52,10 +52,33 @@ class SearchModel @@ -52,10 +52,33 @@ class SearchModel
52 $res = HelperSearch::getList($result, $options); 52 $res = HelperSearch::getList($result, $options);
53 $list = HelperSearch::getTemplateData($res, $options); 53 $list = HelperSearch::getTemplateData($res, $options);
54 $data = array( 54 $data = array(
55 - 'productListPage' => true, //初始化js  
56 - 'list' => $list  
57 - );  
58 - }  
59 - return $data;  
60 - } 55 + 'productListPage' => true, //初始化js
  56 + 'list' => $list
  57 + );
  58 + }
  59 + return $data;
  60 + }
  61 +
  62 + /**
  63 + * 根据product_sn查询产品图片信息
  64 + * @param $product_sn
  65 + * @param $options
  66 + * @author sefon 2015-12-28 18:09:28
  67 + * @return array
  68 + */
  69 + public static function getProductPic($product_sn, $options)
  70 + {
  71 + $data = array();
  72 + $condition['query'] = $product_sn;
  73 + $condition['query'] = $product_sn;
  74 + //返回搜索条件
  75 + $condition['needFilter'] = 0;
  76 + //获取产品数据
  77 + $data = SearchData::searchElasticByCondition($condition);
  78 + if (isset($data['code']) && $data['code'] === 200 && isset($data['data']['product_list']) && !empty($data['data']['product_list'])) {
  79 + //组织数据结构
  80 + $data = HelperSearch::getProductPic($data['data']['product_list'], $options);
  81 + }
  82 + echo json_encode($data);
  83 + }
61 } 84 }
1 <?php 1 <?php
2 use Action\WebAction; 2 use Action\WebAction;
  3 +use Product\SearchModel;
3 class ListController extends WebAction 4 class ListController extends WebAction
4 { 5 {
5 public function indexAction() 6 public function indexAction()
6 { 7 {
7 8
8 } 9 }
9 - 10 +
  11 + public function newAction(){
  12 +
  13 + }
10 14
11 /** 15 /**
12 * list列表sale 16 * list列表sale
@@ -76,9 +80,40 @@ class ListController extends WebAction @@ -76,9 +80,40 @@ class ListController extends WebAction
76 ); 80 );
77 $params = $condition + $_GET; 81 $params = $condition + $_GET;
78 $params = array_filter($params); 82 $params = array_filter($params);
79 - $data = Product\SearchModel::getSearchData($params,$options); 83 + $data = SearchModel::getSearchData($params,$options);
80 $cate = array('boys','girls','kids','lifestyle'); 84 $cate = array('boys','girls','kids','lifestyle');
81 $this->setWebNavHeader($cate[$gender-1]); 85 $this->setWebNavHeader($cate[$gender-1]);
82 $this->_view->display('list', $data); 86 $this->_view->display('list', $data);
83 } 87 }
  88 +
  89 + /**
  90 + * 根据product_skn获取产品图片信息
  91 + * @author sefon 2015-12-28 18:35:24
  92 + * @return json
  93 + */
  94 + public function getProductPicAction()
  95 + {
  96 + $product_skn = $this->post('skn');
  97 + if (!$product_skn) {
  98 + return ;
  99 + }
  100 + //大图
  101 + $imgSize = array();
  102 + //小图
  103 + $minImgSize = array();
  104 + $rowNum = $this->post('rowNum');
  105 + if ($rowNum == 5) {
  106 + $imgSize = array(195, 260);
  107 + $minImgSize = array(50, 67);
  108 + } else {
  109 + $condition['rowNum'] = 4;
  110 + $imgSize = array(235, 314);
  111 + $minImgSize = array(60, 80);
  112 + }
  113 + $options = array(
  114 + 'imgSize' => $imgSize,
  115 + 'minImgSize' => $minImgSize,
  116 + );
  117 + SearchModel::getProductPic($product_skn, $options);
  118 + }
84 } 119 }