diff --git a/template/m.yohobuy.com/actions/index/search/filter.phtml b/template/m.yohobuy.com/actions/index/search/filter.phtml
new file mode 100644
index 0000000..9767a69
--- /dev/null
+++ b/template/m.yohobuy.com/actions/index/search/filter.phtml
@@ -0,0 +1 @@
+{{> filter}}
\ No newline at end of file
diff --git a/yohobuy/m.yohobuy.com/application/controllers/Search.php b/yohobuy/m.yohobuy.com/application/controllers/Search.php
index 95a7761..3673159 100644
--- a/yohobuy/m.yohobuy.com/application/controllers/Search.php
+++ b/yohobuy/m.yohobuy.com/application/controllers/Search.php
@@ -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 模糊搜索的结果