|
|
<?php
|
|
|
use Action\WebAction;
|
|
|
use Product\SearchModel;
|
|
|
class SearchController extends WebAction
|
|
|
{
|
|
|
public function indexAction()
|
|
|
{
|
|
|
/* 过滤请求参数 */
|
|
|
$condition = filter_input_array(INPUT_GET, array(
|
|
|
'query' => FILTER_SANITIZE_STRING,
|
|
|
'brand' => FILTER_VALIDATE_INT,
|
|
|
'sort' => FILTER_VALIDATE_INT,
|
|
|
'msort' => FILTER_VALIDATE_INT,
|
|
|
'misort' => FILTER_VALIDATE_INT,
|
|
|
'color' => FILTER_VALIDATE_INT,
|
|
|
'size' => FILTER_DEFAULT,
|
|
|
'style' => FILTER_DEFAULT,
|
|
|
'price' => FILTER_DEFAULT,
|
|
|
'gender' => FILTER_DEFAULT,
|
|
|
'p_d' => FILTER_DEFAULT,
|
|
|
'shelve_time' => FILTER_DEFAULT,
|
|
|
'isNew' => FILTER_DEFAULT,
|
|
|
'specialoffer' => FILTER_DEFAULT,
|
|
|
'limited' => FILTER_DEFAULT,
|
|
|
'order' => FILTER_DEFAULT,
|
|
|
'viewNum' => FILTER_VALIDATE_INT,
|
|
|
'rowNum' => FILTER_VALIDATE_INT,
|
|
|
'page' => FILTER_VALIDATE_INT), false);
|
|
|
//字符转码
|
|
|
foreach($condition as $key => $val){
|
|
|
$condition[$key] = rawurldecode($val);
|
|
|
}
|
|
|
//关键词
|
|
|
$condition['query'] = '鞋';
|
|
|
//性別(频道)
|
|
|
$gender_cookie = !isset($_COOKIE['_Gender']) ? '3' : ($_COOKIE['_Gender']=='2,3' ? 2 : 1);
|
|
|
$gender = $this->get('gender') ? ($this->get('gender') == '2,3' ? 2 : 1) : $gender_cookie ;
|
|
|
$condition['gender'] = $gender;
|
|
|
//每页显示商品数
|
|
|
if(!isset($condition['viewNum']) || empty($condition['viewNum'])){
|
|
|
$condition['viewNum'] =60;
|
|
|
}
|
|
|
$view_num_arr = array(60, 100, 200);
|
|
|
if (!in_array($condition['viewNum'], $view_num_arr)) {
|
|
|
$condition['viewNum'] = 60;
|
|
|
}
|
|
|
//每行显示的商品数量
|
|
|
if(!isset($condition['rowNum']) || empty($condition['rowNum'])){
|
|
|
$condition['rowNum'] =5;
|
|
|
}
|
|
|
if ($condition['rowNum'] == 6) {
|
|
|
$imgSize = array(195, 260);
|
|
|
$minImgSize = array(50, 67);
|
|
|
} else {
|
|
|
$condition['rowNum'] = 5;
|
|
|
$imgSize = array(235, 314);
|
|
|
$minImgSize = array(60, 80);
|
|
|
}
|
|
|
//自定义搜索价格
|
|
|
if (isset($condition['price']) || !empty($condition['price'])) {
|
|
|
$price = explode(',', $condition['price']);
|
|
|
if (!$price[0]) {
|
|
|
$price[0] = 0;
|
|
|
}
|
|
|
if ($price[1]) {
|
|
|
$price[1] = 99999;
|
|
|
}
|
|
|
$condition['price'] = implode(',', $price);
|
|
|
}
|
|
|
|
|
|
//返回搜索条件
|
|
|
$condition['needFilter'] = 1;
|
|
|
//过滤赠品
|
|
|
$condition['attribute_not'] = 2;
|
|
|
/*sale*/
|
|
|
//默认排序
|
|
|
if (!isset($condition['order']) || empty($condition['order'])) {
|
|
|
$condition['order'] = 's_n_desc';
|
|
|
}
|
|
|
if (!isset($condition['p_d']) || empty($condition['p_d'])) {
|
|
|
$condition['p_d'] = '0,0.9';
|
|
|
}
|
|
|
$options = array(
|
|
|
'imgSize' => $imgSize,
|
|
|
'minImgSize' => $minImgSize,
|
|
|
'rowNum' =>$condition['rowNum'],
|
|
|
'viewNum' =>$condition['viewNum'],
|
|
|
);
|
|
|
$params = $condition + $_GET;
|
|
|
$params = array_filter($params);
|
|
|
//每页记录数减1,下一页占位
|
|
|
$params['viewNum'] = $params['viewNum'] - 1;
|
|
|
$searchData = SearchModel::searchData($params,$options);
|
|
|
$cate = array('boys','girls','kids','lifestyle');
|
|
|
$this->setWebNavHeader($cate[$gender-1]);
|
|
|
$data = array(
|
|
|
'searchListPage' => true,
|
|
|
);
|
|
|
$data['search'] = $searchData['list'];
|
|
|
$this->_view->display('search', $data);
|
|
|
}
|
|
|
} |
|
|
\ No newline at end of file |
...
|
...
|
|