时间:2021-07-01 10:21:17 帮助过:31人阅读
private function getList($where='',$no_query = false) { global $_FANWE; if(!$no_query) { if(defined('IS_CACHE_TPL')) $fields = ''; else $fields = ',g.post_count'; $page_args = array( 'city_py' => CURRENT_CITY_PY, 'site' => intval($_FANWE['request']['site']), 'cat' => intval($_FANWE['request']['cat']), 'sort' => trim($_FANWE['request']['sort']), 'date' => trim($_FANWE['request']['date']), 'keyword' => trim($_FANWE['request']['keyword']), 'prices' => trim($_FANWE['request']['prices']), ); $site_id = 0; if($page_args['site'] > 0) { $site_id = $page_args['site']; $site_where = ' AND gk.site_id = '.$page_args['site']; } else unset($page_args['site']); $dates = S('Goods')->getExpiredGoodsDate(); $min_time = getTodayTime(); $max_time = TIME_UTC; $date = toDate($min_time,'Y-m-d'); if(!empty($page_args['date'])) { $time = str2Time($page_args['date']); if($time <= $dates['max_time'] && $time >= $dates['min_time']) { $date = toDate($time,'Y-m-d'); $min_time = str2Time(toDate($time,'Y-m-d')); $max_time = $min_time + 863990000; if($max_time > TIME_UTC) $max_time = TIME_UTC; } } else { $page_args['date'] = $date; } $dates['min_time'] = toDate($dates['min_time'],'r'); $dates['max_time'] = toDate($dates['max_time'],'r'); $where.=" AND gk.end_time >= '$min_time' AND gk.end_time <= '$max_time'"; $keyword = ''; if($page_args['keyword'] != '') { $page_args['keyword'] = urldecode($page_args['keyword']); $keyword = &$page_args['keyword']; $keyword_query = mysqlLikeQuote($page_args['keyword']); $where.=" AND (g.name LIKE '%$keyword_query%')"; } else unset($page_args['keyword']); $insert_sort = 'gk.cr_sort ASC'; if($page_args['cat'] > 0) $insert_sort = 'gk.ec_sort ASC'; if(in_array($page_args['cat'],$_FANWE['cache']['goods']['root_cates'])) $insert_sort = 'gk.dc_sort ASC'; $city_name = $_FANWE['current_city']['name']; if(CURRENT_CITY_PY == CHINA_CITY_PY) { //全国不包含所有城市商品时 if($_FANWE['setting']['all_city'] == 0) $where.= " AND gk.city = '$city_name'"; else { $insert_sort = 'gk.r_sort ASC'; if($page_args['cat'] > 0) $insert_sort = 'gk.e_sort ASC'; if(in_array($page_args['cat'],$_FANWE['cache']['goods']['root_cates'])) $insert_sort = 'gk.d_sort ASC'; } } elseif(CURRENT_CITY_PY != '') { //城市显示全国商品时 if($_FANWE['setting']['index_all'] == 1) { $fields .= ",(gk.city = '$city_name') as is_now_city"; $insert_sort = 'is_now_city DESC,'.$insert_sort; $quanguo_name = $_FANWE['cache']['city']['all'][CHINA_CITY_PY]['name']; $where.= " AND gk.city IN ('$city_name','$quanguo_name')"; } else { $where.= " AND gk.city = '$city_name'"; } } //价格条件 $prices = ''; if(!empty($page_args['prices'])) { $prices = &$page_args['prices']; $price_arr = explode(',',$prices); $price_min = intval($price_arr[0]); $price_max = intval($price_arr[1]); if($price_min > 0) $where.=" AND (g.shop_price >= $price_min)"; if($price_max > 0) $where.=" AND (g.shop_price <= $price_max)"; } else unset($page_args['prices']); $goods_cates = S('Goods')->getExpiredGoodsCats($site_where.$where); $cate_id = 0; if($page_args['cat'] > 0) { $cate_id = &$page_args['cat']; $cateobj = $_FANWE['cache']['goods']['cats'][$cate_id]; $cate_ids = array(); if(isset($cateobj['childs'])) $cate_ids = $cateobj['childs']; $cate_ids[] = $cate_id; if(count($cate_ids) > 1) $where.=' AND gk.cate_id IN ('.implode(',', $cate_ids).')'; else $where.=" AND gk.cate_id = '$cate_id'"; } else unset($page_args['cat']); $goods_sites = S('Goods')->getExpiredGoodsSites($where); $where = $site_where.$where; $order = ''; $sort = &$page_args['sort']; $sort_array = array('spa'=>'g.shop_price ASC','spd'=>'g.shop_price DESC','eta'=>'g.end_time ASC','etd'=>'g.end_time DESC','cca'=>'g.click_count ASC','ccd'=>'g.click_count DESC','sa'=>'g.score ASC','sd'=>'g.score DESC','ba'=>'g.bought ASC','bd'=>'g.bought DESC','da'=>'discount ASC','dd'=>'discount DESC'); if(array_key_exists($sort,$sort_array)) $order = $sort_array[$sort]; else { unset($page_args['sort']); $sort = ''; } if(empty($order)) $order .= 'g.is_best DESC,'.$insert_sort.',g.sort ASC,g.id ASC'; else $order .= ','.$insert_sort.',g.sort ASC,g.id DESC'; $goods_count = S('Goods')->getExpiredGoodsCount($where); $pager = buildPage('goods/'.ACTION_NAME,$page_args,$goods_count,$_FANWE['page'],15); $goods_result = S('Goods')->getExpiredGoodsList($where,$order,$fields,$pager['limit']); $goods_result['ids'] = implode(',',$goods_result['ids']); } include template('page/goods_index'); }