Получение всех подгрупп текущей группы

Допустим вам нужно получить массив 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 нужной нам группы

comments powered by Disqus


Следующий "Повышение редакции HostCMS" К списку Предыдущий "Маркет"