Exemplo n.º 1
0
 public function categoryAction()
 {
     $categories = $this->productCategoryModel->getList();
     $categoryFilters = $this->productCategoryFilterModel->getList();
     $categoryFilterOptions = $this->productCategoryFilterOptionModel->getList();
     $categories = Utility::recreateIndex($categories, 'productCategoryID');
     $categoryFilters = Utility::recreateIndex($categoryFilters, 'productCategoryFilterID');
     $categoryFilterOptions = Utility::recreateIndex($categoryFilterOptions, 'productCategoryFilterOptionID');
     foreach ($categoryFilterOptions as $k => $v) {
         $categoryFilters[$v['productCategoryFilterID']]['options'][$k] = $v;
     }
     foreach ($categoryFilters as $k => $v) {
         $categories[$v['productCategoryID']]['filters'][$k] = $v;
     }
     $result = array();
     foreach ($categories as $k => $v) {
         $tmp = array();
         if (!empty($v['filters'])) {
             foreach ($v['filters'] as $sk => $sv) {
                 $tmp2 = array();
                 if (!empty($sv['options'])) {
                     foreach ($sv['options'] as $ssk => $ssv) {
                         $tmp2 = array('optionID' => $ssk, 'optionName' => $ssv['optionName']);
                     }
                 }
                 $tmp[] = array('filterID' => $sk, 'filterName' => $sv['filterName'], 'options' => $tmp2);
             }
         }
         $result[] = array('categoryID' => $k, 'categoryName' => $v['categoryName'], 'filters' => $tmp);
     }
     return $this->response(ApiSuccess::COMMON_SUCCESS, ApiSuccess::COMMON_SUCCESS_MSG, $result);
 }