Блог
Получение всех подгрупп текущей группы
Допустим вам нужно получить массив Id всего дерева подгрупп текущей группы.
Для этого вам пригодится следующий код:
$aGroupsId = array(); $currGroupId = 10; $aGroupsId[] = $currGroupId; $aoCurGroups = array(Core_Entity::factory('Shop_group', $currGroupId)); do{ $aoParGroups = $aoCurGroups; $aCurGroupsId = array(); $aoCurGroups = array(); foreach($aoParGroups as $oParGroup) { $aCurGroupsId[] = $oParGroup->id; $aGroupsId[] = $oParGroup->id; } $aGroups = Core_Entity::factory('Shop_group'); $aGroups->queryBuilder() ->where('parent_id', 'IN', $aCurGroupsId); $aoCurGroups = $aGroups->findAll(); }while(count($aoCurGroups) != 0); var_dump($aGroupsId);
В массиве $aGroupsId содержится массив Id, a $currGroupId это Id нужной нам группы