Authored by yangyang

合并代码

@@ -123,15 +123,31 @@ class HelperSearch @@ -123,15 +123,31 @@ class HelperSearch
123 'pageCount' => $result['page_total'], 123 'pageCount' => $result['page_total'],
124 'nextHref' => $result['filter']['next'] 124 'nextHref' => $result['filter']['next']
125 ), 125 ),
  126 + 'hasNextPage' => array(
  127 + 'href' => $result['filter']['next'],
  128 + 'src' => 'http://img10.static.yhbimg.com/product/2014/01/15/11/01fa01614784f6239760f1b749663016f1.jpg?imageMogr2/thumbnail/235x314/extent/235x314/background/d2hpdGU=/position/center/quality/90'
  129 + ),
126 'goods' => $result['product_list'], 130 'goods' => $result['product_list'],
127 - 'allSort' => array(  
128 - 'updateNum' => $result['filter']['group_sort']['all']['num'],  
129 - 'list' => $result['filter']['group_sort']['list'] 131 + 'leftContent' => array(
  132 + array(
  133 + 'allSort' => array(
  134 + //'updateNum' => $result['filter']['group_sort']['all']['num'],
  135 + 'list' => $result['filter']['group_sort']['list']
  136 + )
  137 + ),
  138 + array(
  139 + 'advNav' => array()
  140 + ),
  141 + array(
  142 + 'advPic' => array()
  143 + ),
  144 + array(
  145 + 'newSales' => $result['filter']['recent']
  146 + ),
  147 + array('allDiscount' => $result['filter']['discount'])
130 ), 148 ),
131 - 'advNav' => array(),  
132 - 'advPic' => array(),  
133 - 'newSales' => $result['filter']['recent'],  
134 - 'allDiscount' => $result['filter']['discount'] 149 + 'totalCount' => $result['total'],
  150 +
135 ); 151 );
136 return $data; 152 return $data;
137 } 153 }
@@ -144,9 +160,18 @@ class HelperSearch @@ -144,9 +160,18 @@ class HelperSearch
144 public static function getProductList($product,$imgSize){ 160 public static function getProductList($product,$imgSize){
145 $result = array(); 161 $result = array();
146 foreach($product as $key => $val){ 162 foreach($product as $key => $val){
  163 + //NEW
147 $isNew = $val['is_new'] == 'Y' ? true : false; 164 $isNew = $val['is_new'] == 'Y' ? true : false;
148 - $isFew = $val['is_soon_sold_out'] == 'Y' ? true : false;  
149 - $is_promotion = $val['is_promotion']; 165 + //限量商品
  166 + $isLimit = isset($val['is_limited']) && $val['is_limited'] === 'Y';
  167 + //即将售罄
  168 + $isFew = $val['is_soon_sold_out'] === 'Y' ? true : false;
  169 + //SALE
  170 + //新品节
  171 + //再到着
  172 + //年终大促
  173 + // 年中大促
  174 +
150 foreach($val['goods_list'] as $k => $v){ 175 foreach($val['goods_list'] as $k => $v){
151 $goods_list[$k]['url'] = Helpers::getUrlBySkc($val['product_id'], $v['goods_id'], $val['cn_alphabet']); 176 $goods_list[$k]['url'] = Helpers::getUrlBySkc($val['product_id'], $v['goods_id'], $val['cn_alphabet']);
152 } 177 }
@@ -156,13 +181,15 @@ class HelperSearch @@ -156,13 +181,15 @@ class HelperSearch
156 $result[] = array( 181 $result[] = array(
157 'tags' => array( 182 'tags' => array(
158 'isNew' => $isNew, 183 'isNew' => $isNew,
159 - 'isYearEndPromotion' => $is_promotion 184 + 'isLimit' => $isLimit
160 ), 185 ),
161 'url' => $goods_list[0]['url'], 186 'url' => $goods_list[0]['url'],
162 'thumb' => $val['default_images'], 187 'thumb' => $val['default_images'],
163 'name' => $val['product_name'], 188 'name' => $val['product_name'],
164 'salePrice' => $val['sales_price'], 189 'salePrice' => $val['sales_price'],
165 - 'isFew' => $isFew 190 + 'marketPrice' => $val['market_price'],
  191 + 'isFew' => $isFew,
  192 + 'skn' => $val['product_skn']
166 ); 193 );
167 } 194 }
168 return $result; 195 return $result;
@@ -256,12 +283,6 @@ class HelperSearch @@ -256,12 +283,6 @@ class HelperSearch
256 * @param array $params 283 * @param array $params
257 * @return array 284 * @return array
258 */ 285 */
259 - /**  
260 - * 组织搜索列表页面的左侧分类  
261 - * @param array $sort  
262 - * @param array $params  
263 - * @return array  
264 - */  
265 public static function groupSort($sort, $option = array()) { 286 public static function groupSort($sort, $option = array()) {
266 $params = self::$params; 287 $params = self::$params;
267 $gender = isset($params['gender']) ? $params['gender'] : ''; 288 $gender = isset($params['gender']) ? $params['gender'] : '';
@@ -295,8 +316,8 @@ class HelperSearch @@ -295,8 +316,8 @@ class HelperSearch
295 'sort_id' => 0, 316 'sort_id' => 0,
296 'name' => '全部品类', 317 'name' => '全部品类',
297 'href' => self::buildurl($query) , 318 'href' => self::buildurl($query) ,
298 - 'num' => 0,  
299 - 'selected' => '' 319 +// 'num' => 0,
  320 + 'active' => ''
300 ) , 321 ) ,
301 'list' => array() 322 'list' => array()
302 ); 323 );
@@ -311,12 +332,12 @@ class HelperSearch @@ -311,12 +332,12 @@ class HelperSearch
311 )) 332 ))
312 ); 333 );
313 } 334 }
314 - $result['all']['num']+= $val['count']; 335 + //$result['all']['num']+= $val['count'];
315 $msort = array( 336 $msort = array(
316 'sort_id' => $val['sort_id'], 337 'sort_id' => $val['sort_id'],
317 'name' => $val['sort_name'], 338 'name' => $val['sort_name'],
318 - 'num' => $val['count'],  
319 - 'selected' => isset($params['msort']) && $params['msort'] == $val['sort_id'] ? true : false, 339 +// 'num' => $val['count'],
  340 + 'active' => isset($params['msort']) && $params['msort'] == $val['sort_id'] ? true : false,
320 'href' => self::buildurl(array_merge($query, array( 341 'href' => self::buildurl(array_merge($query, array(
321 'msort' => $val['sort_id'] 342 'msort' => $val['sort_id']
322 ))) , 343 ))) ,
@@ -328,8 +349,8 @@ class HelperSearch @@ -328,8 +349,8 @@ class HelperSearch
328 $sub[] = array( 349 $sub[] = array(
329 'sort_id' => $val['sort_id'], 350 'sort_id' => $val['sort_id'],
330 'name' => '全部' . $val['sort_name'], 351 'name' => '全部' . $val['sort_name'],
331 - 'num' => $val['count'],  
332 - 'selected' => !isset($params['misort']) && isset($params['msort']) && $params['msort'] == $val['sort_id'] ? true : false, 352 +// 'num' => $val['count'],
  353 + 'childActive' => !isset($params['misort']) && isset($params['msort']) && $params['msort'] == $val['sort_id'] ? true : false,
333 'href' => self::buildurl(array_merge($query, array( 354 'href' => self::buildurl(array_merge($query, array(
334 'msort' => $val['sort_id'] 355 'msort' => $val['sort_id']
335 ))) , 356 ))) ,
@@ -346,8 +367,8 @@ class HelperSearch @@ -346,8 +367,8 @@ class HelperSearch
346 $sub[] = array( 367 $sub[] = array(
347 'sort_id' => $mval['sort_id'], 368 'sort_id' => $mval['sort_id'],
348 'name' => $mval['sort_name'], 369 'name' => $mval['sort_name'],
349 - 'num' => $mval['count'],  
350 - 'selected' => isset($params['misort']) && $params['misort'] == $mval['sort_id'] ? true : false, 370 +// 'num' => $mval['count'],
  371 + 'childActive' => isset($params['misort']) && $params['misort'] == $mval['sort_id'] ? true : false,
351 'href' => self::buildurl(array_merge($query, array( 372 'href' => self::buildurl(array_merge($query, array(
352 'msort' => $val['sort_id'], 373 'msort' => $val['sort_id'],
353 'misort' => $mval['sort_id'] 374 'misort' => $mval['sort_id']
@@ -448,7 +469,7 @@ class HelperSearch @@ -448,7 +469,7 @@ class HelperSearch
448 'name' => $v['brand_name'], 469 'name' => $v['brand_name'],
449 'alif' => $v['brand_alif'], 470 'alif' => $v['brand_alif'],
450 'href' => $url, 471 'href' => $url,
451 - 'selected' => in_array($v['id'], $brand_ids) ? true : false 472 + 'active' => in_array($v['id'], $brand_ids) ? true : false
452 ); 473 );
453 474
454 if (count($result['default']) < 10) { 475 if (count($result['default']) < 10) {
@@ -1058,6 +1079,8 @@ class HelperSearch @@ -1058,6 +1079,8 @@ class HelperSearch
1058 * @return array 1079 * @return array
1059 */ 1080 */
1060 public static function getDiscount(array $list = array()) { 1081 public static function getDiscount(array $list = array()) {
  1082 + $params = self::$params;
  1083 +
1061 if (empty($list)) { 1084 if (empty($list)) {
1062 return array(); 1085 return array();
1063 } 1086 }
@@ -1077,11 +1100,11 @@ class HelperSearch @@ -1077,11 +1100,11 @@ class HelperSearch
1077 $total+= $v['count']; 1100 $total+= $v['count'];
1078 $query['p_d'] = $k; 1101 $query['p_d'] = $k;
1079 $list[$k]['href'] = self::buildurl($query); 1102 $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; 1103 + //$list[$k]['num'] = $total;
  1104 + $list[$k]['active'] = isset($params['p_d']) && $params['p_d'] == $k ? true : false;
1082 } 1105 }
1083 $result = array( 1106 $result = array(
1084 - 'updateNum' => $total, 1107 + //'updateNum' => $total,
1085 'list' => $list 1108 'list' => $list
1086 ); 1109 );
1087 return $result; 1110 return $result;
@@ -1094,7 +1117,7 @@ class HelperSearch @@ -1094,7 +1117,7 @@ class HelperSearch
1094 if (empty($list)) { 1117 if (empty($list)) {
1095 return array(); 1118 return array();
1096 } 1119 }
1097 - $params = $_GET; 1120 + $params = self::$params;
1098 $query = array(); 1121 $query = array();
1099 if (isset($params['gender'])) { 1122 if (isset($params['gender'])) {
1100 $query['gender'] = $params['gender']; 1123 $query['gender'] = $params['gender'];
@@ -1106,21 +1129,21 @@ class HelperSearch @@ -1106,21 +1129,21 @@ class HelperSearch
1106 $query['misort'] = $params['misort']; 1129 $query['misort'] = $params['misort'];
1107 } 1130 }
1108 $data = array(); 1131 $data = array();
1109 - $total = 0;  
1110 $i = 0; 1132 $i = 0;
1111 foreach ($list as $k => $v) { 1133 foreach ($list as $k => $v) {
1112 - $total+= $v;  
1113 $star_time = strtotime($k); 1134 $star_time = strtotime($k);
1114 $end_time = $star_time+60*60*24; 1135 $end_time = $star_time+60*60*24;
1115 $query['shelve_time'] = ''; 1136 $query['shelve_time'] = '';
1116 $query['shelve_time'] = $star_time.','.$end_time; 1137 $query['shelve_time'] = $star_time.','.$end_time;
  1138 + if (isset($params['shelve_time']) && $query['shelve_time'] == $params['shelve_time']) {
  1139 + $data[$i]['active'] = true;
  1140 + }
1117 @$data[$i]['href'] = self::buildurl($query); 1141 @$data[$i]['href'] = self::buildurl($query);
1118 - $data[$i]['num'] = $v;  
1119 $data[$i]['name'] = $k; 1142 $data[$i]['name'] = $k;
1120 $i++; 1143 $i++;
1121 } 1144 }
1122 $result = array( 1145 $result = array(
1123 - 'updateNum' => $total, 1146 + //'updateNum' => $total,
1124 'list' => $data 1147 'list' => $data
1125 ); 1148 );
1126 return $result; 1149 return $result;
@@ -1150,4 +1173,23 @@ class HelperSearch @@ -1150,4 +1173,23 @@ class HelperSearch
1150 } 1173 }
1151 return self::buildurl($param); 1174 return self::buildurl($param);
1152 } 1175 }
  1176 +
  1177 + /**
  1178 + * 组织产品
  1179 + * @param $product
  1180 + * @param $options
  1181 + * @return array
  1182 + */
  1183 + public static function getProductPic($product, $options)
  1184 + {
  1185 + $result = array();
  1186 + if (isset($product[0]['goods_list']) && !empty($product[0]['goods_list'])){
  1187 + foreach ($product[0]['goods_list'] as $key => $val){
  1188 + $result[$key]['coverImg'] = Images::getImageUrl($val['images_url'], $options['imgSize'][0], $options['imgSize'][1]);
  1189 + $result[$key]['url'] = Helpers::getUrlBySkc($product[0]['product_id'], $val['goods_id'], $product[0]['cn_alphabet']);
  1190 + $result[$key]['src'] = Images::getImageUrl($val['images_url'], $options['imgSize'][0], $options['imgSize'][1]);
  1191 + }
  1192 + }
  1193 + return $result;
  1194 + }
1153 } 1195 }
  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')
@@ -58,4 +58,27 @@ class SearchModel @@ -58,4 +58,27 @@ class SearchModel
58 } 58 }
59 return $data; 59 return $data;
60 } 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 }
@@ -39,10 +39,6 @@ class IndexController extends WebAction @@ -39,10 +39,6 @@ class IndexController extends WebAction
39 'gender' => FILTER_DEFAULT, 39 'gender' => FILTER_DEFAULT,
40 'p_d' => FILTER_DEFAULT, 40 'p_d' => FILTER_DEFAULT,
41 'shelve_time' => FILTER_DEFAULT, 41 'shelve_time' => FILTER_DEFAULT,
42 - 'parameter_790' => FILTER_DEFAULT,  
43 - 'parameter_824' => FILTER_DEFAULT,  
44 - 'parameter_825' => FILTER_DEFAULT,  
45 - 'parameter_787' => FILTER_DEFAULT,  
46 'isNew' => FILTER_DEFAULT, 42 'isNew' => FILTER_DEFAULT,
47 'specialoffer' => FILTER_DEFAULT, 43 'specialoffer' => FILTER_DEFAULT,
48 'limited' => FILTER_DEFAULT, 44 'limited' => FILTER_DEFAULT,
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,41 @@ class ListController extends WebAction @@ -76,9 +80,41 @@ 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);
  84 +// print_r($data); exit;
80 $cate = array('boys','girls','kids','lifestyle'); 85 $cate = array('boys','girls','kids','lifestyle');
81 $this->setWebNavHeader($cate[$gender-1]); 86 $this->setWebNavHeader($cate[$gender-1]);
82 $this->_view->display('list', $data); 87 $this->_view->display('list', $data);
83 } 88 }
  89 +
  90 + /**
  91 + * 根据product_skn获取产品图片信息
  92 + * @author sefon 2015-12-28 18:35:24
  93 + * @return json
  94 + */
  95 + public function getProductPicAction()
  96 + {
  97 + $product_skn = $this->post('skn');
  98 + if (!$product_skn) {
  99 + return ;
  100 + }
  101 + //大图
  102 + $imgSize = array();
  103 + //小图
  104 + $minImgSize = array();
  105 + $rowNum = $this->post('rowNum');
  106 + if ($rowNum == 5) {
  107 + $imgSize = array(195, 260);
  108 + $minImgSize = array(50, 67);
  109 + } else {
  110 + $condition['rowNum'] = 4;
  111 + $imgSize = array(235, 314);
  112 + $minImgSize = array(60, 80);
  113 + }
  114 + $options = array(
  115 + 'imgSize' => $imgSize,
  116 + 'minImgSize' => $minImgSize,
  117 + );
  118 + SearchModel::getProductPic($product_skn, $options);
  119 + }
84 } 120 }