protected function oldboxRootCategoryBlock() { ClassLoader::import('application.model.staticpage.StaticPage'); if ($this->config->get('TOP_MENU_HIDE')) { return; } if (!$this->config->get('TOP_MENU_HIDE_CATS')) { $topCategories = $this->getTopCategories($this->config->get('CAT_MENU_TOP_ROOT')); $ids = array(); foreach ($topCategories as $cat) { if ($cat['isEnabled']) { $ids[] = $cat['ID']; } } $f = new ARSelectFilter(new INCond(new ARFieldHandle('Category', 'parentNodeID'), $ids)); $f->setOrder(new ARFieldHandle('Category', 'parentNodeID')); $f->setOrder(new ARFieldHandle('Category', 'lft')); $subCategories = array(); foreach (ActiveRecordModel::getRecordSetArray('Category', $f) as $cat) { if ($cat['isEnabled']) { $subCategories[$cat['parentNodeID']][] = $cat; } } } $f = new ARSelectFilter(new IsNullCond(new ARFieldHandle('StaticPage', 'parentID'))); $f->mergeCondition(StaticPage::getIsRootCategoriesMenuCondition()); $f->setOrder(new ARFieldHandle('StaticPage', 'position')); $pages = ActiveRecordModel::getRecordSetArray('StaticPage', $f); $ids = array(); $subPages = array(); foreach ($pages as $page) { $ids[] = $page['ID']; } $f = new ARSelectFilter(new INCond(new ARFieldHandle('StaticPage', 'parentID'), $ids)); $f->setOrder(new ARFieldHandle('StaticPage', 'position')); foreach (ActiveRecordModel::getRecordSetArray('StaticPage', $f) as $page) { $subPages[$page['parentID']][] = $page; } if (empty($topCategories) && empty($pages)) { return; } $response = new BlockResponse(); $response->set('categories', $topCategories); $response->set('subCategories', $subCategories); $response->set('pages', $pages); $response->set('subPages', $subPages); $response->set('currentId', $this->getTopCategoryId()); return $response; }