public function init()
 {
     $this->_categoriesModelMapper = new Catalog_Model_Mapper_Categories();
     $this->_productsModelMapper = new Catalog_Model_Mapper_Products();
     $this->_productsParamsMapper = new Catalog_Model_Mapper_ProductParams();
     $this->_subproductsModelMapper = new Catalog_Model_Mapper_Subproducts();
     $this->_subproductsParamsMapper = new Catalog_Model_Mapper_SubproductParams();
     $this->_subproductParamsValuesMapper = new Catalog_Model_Mapper_SubproductParamsValues();
     $this->_treeCategories = $this->_categoriesModelMapper->fetchTreeSubCategories();
     $this->_treeCategoriesArray = $this->getSubGroups($this->_treeCategories, $level = 1);
 }
 /**
  * @return Catalog_Model_Categories[]|null
  */
 private function _getTreeCategories()
 {
     $id = $this->_idGroup;
     $cache = Zend_Registry::get('cache');
     $cacheName = 'treeCategories_' . $id;
     $select = $this->_modelCategoriesMapper->getDbTable()->select()->order('sorting ASC');
     if (!($treeCategories = $cache->load($cacheName))) {
         ini_set('max_execution_time', 900);
         $treeCategories = $this->_modelCategoriesMapper->fetchTreeSubCategories($id, $select);
         $cache->save($treeCategories, $cacheName, array('api', 'Catalog', 'treeCategories'));
     }
     return $treeCategories;
 }
 public function treeAction()
 {
     $treeCategories = $this->_categoriesModelMapper->fetchTreeSubCategories();
     $expArray = $this->getSubGroups($treeCategories, $level = 1);
     $this->view->array = $expArray;
 }