...
|
...
|
@@ -203,20 +203,9 @@ class SearchController extends AbstractAction |
|
|
|
|
|
// 转换排序方式
|
|
|
$page = $this->get('page', 1);
|
|
|
$order = $this->get('order', 0);
|
|
|
$orderVal = $this->get('order', 0);
|
|
|
$type = $this->get('type', '');
|
|
|
switch ($type) {
|
|
|
case 'price':
|
|
|
$order = ($order == 0) ? 's_p_desc' : 's_p_asc';
|
|
|
break;
|
|
|
case 'discount':
|
|
|
$order = ($order == 0) ? 'p_d_desc' : 'p_d_asc';
|
|
|
break;
|
|
|
case 'newest':
|
|
|
default:
|
|
|
$order = ($order == 0) ? 's_t_desc' : 's_t_asc';
|
|
|
break;
|
|
|
}
|
|
|
$order = Helpers::transOrder($orderVal, $type);
|
|
|
|
|
|
$data = array();
|
|
|
// 查询品类或品牌数据
|
...
|
...
|
@@ -258,6 +247,56 @@ class SearchController extends AbstractAction |
|
|
}
|
|
|
|
|
|
/**
|
|
|
* Ajax异步获取筛选数据
|
|
|
* @return array 筛选数据
|
|
|
*/
|
|
|
public function filterAction()
|
|
|
{
|
|
|
if ($this->isAjax()) {
|
|
|
// 过滤请求参数
|
|
|
$condition = filter_input_array(INPUT_GET, array(
|
|
|
'query' => FILTER_DEFAULT,
|
|
|
'brand' => FILTER_VALIDATE_INT,
|
|
|
'sort' => FILTER_DEFAULT,
|
|
|
'msort' => FILTER_VALIDATE_INT,
|
|
|
'misort' => FILTER_VALIDATE_INT,
|
|
|
'color' => FILTER_VALIDATE_INT,
|
|
|
'size' => FILTER_VALIDATE_INT,
|
|
|
'price' => FILTER_VALIDATE_INT,
|
|
|
'discount' => FILTER_DEFAULT,
|
|
|
'gender' => FILTER_DEFAULT,
|
|
|
'p_d' => FILTER_DEFAULT,), false);
|
|
|
|
|
|
if (isset($condition['sort'])) {
|
|
|
$condition['sort'] = rawurldecode($condition['sort']);
|
|
|
}
|
|
|
if (isset($condition['discount'])) {
|
|
|
$condition['p_d'] = rawurldecode($condition['discount']);
|
|
|
unset($condition['discount']);
|
|
|
}
|
|
|
if (isset($condition['gender'])) {
|
|
|
$condition['gender'] = rawurldecode($condition['gender']);
|
|
|
}
|
|
|
|
|
|
$data = array();
|
|
|
$listData = SearchData::searchByCondition($condition);
|
|
|
// 处理返回的数据
|
|
|
if (isset($listData['data']) && isset($listData['data']['filter'])) {
|
|
|
$data['filter'] = ListProcess::getFilterData($listData['data']['filter']);
|
|
|
}
|
|
|
$listData = array();
|
|
|
|
|
|
if (empty($data)) {
|
|
|
echo ' ';
|
|
|
} else {
|
|
|
$this->_view->display('filter', $data);
|
|
|
}
|
|
|
} else {
|
|
|
echo ' ';
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 模糊搜索指定字符
|
|
|
*
|
|
|
* @return array 模糊搜索的结果
|
...
|
...
|
|