/** * рекурсия по саб категориям * @param array $categories * @param $cat * @param int $level * @return bool */ function module_pamyatniki_getCategoriesTree(array &$categories, $cat, $level = 0) { $model = new cms_model_content(); $subcats_list = $model->getSubCatsbyid($cat['id']); //получаем id подкатегорий if ($subcats_list === false) { return false; } //если вложеных категорий нет возвращаем фолс если есть обрабатываем их foreach ($subcats_list as $catData) { //для каждой под категории if ($catData['show_in_main'] == 0) { continue; } $categories['child'][$catData['id']] = $catData; //заносим категорию в многомерный масив $categories['child'][$catData['id']]['level'] = $level; //добавляем уровень вложености module_pamyatniki_getCategoriesTree($categories['child'][$catData['id']], $catData, $level + 1); //переопределяем функцию и передаем id дочерней категории } return true; }