Корневые группы ИС как меню в каждой дочерней подгруппе

#
Корневые группы ИС как меню в каждой дочерней подгруппе
Добрый день. Делаю меню, которое представляет из себя все корневые группы ИС и которое должно отображаться в каждой группе ИС.
Для этого добавил найденные группы в XML разместив в ТДС:
$oInformationsystem = $Informationsystem_Controller_Show->getEntity();
   
   // XML-сущность, к которой будут добавляться производители
   $oRootGroupsXmlEntity = Core::factory('Core_Xml_Entity')->name('root_groups');
   
   // Добавляем XML-сущность контроллеру показа
   $Informationsystem_Controller_Show->addEntity($oRootGroupsXmlEntity);
   
   $aRootGroups = $oInformationsystem->Informationsystem_groups->getByParentId(0);
   foreach ($aRootGroups as $oGroup)
   {
      // Добавляем корневую группу потомком XML-сущности
      $oRootGroupsXmlEntity->addEntity(
         $oGroup->clearEntities()
      );
   }


Есть ряд вопросов:
1) как убрать группы, у которых родительской группой не является корень? Например, когда заходим в группу 2, то мы видим в узле помимо группы 2 все ее дочерние.
2) как добавить свойства групп и исключить например description?
Модератор
#
Re: Корневые группы ИС как меню в каждой дочерней подгруппе
onlinestudio,

$oInformationsystem = $Informationsystem_Controller_Show->getEntity();
  
// XML-сущность, к которой будут добавляться производители
$oRootGroupsXmlEntity = Core::factory('Core_Xml_Entity')->name('root_groups');

// Добавляем XML-сущность контроллеру показа
$Informationsystem_Controller_Show->addEntity($oRootGroupsXmlEntity);

$aRootGroups = $oInformationsystem->Informationsystem_groups->getAllByParent_id(0, FALSE); // Выбор всех групп, у которых в базе parent_id равен 0
foreach ($aRootGroups as $oGroup)
{
   // Добавляем корневую группу потомком XML-сущности
   $oRootGroupsXmlEntity->addEntity(
      $oGroup->clearEntities()
         ->showXmlProperties(TRUE) // Показ свойств
         ->addForbiddenTag('description') // Исключение тега
   );
}
Вы только что начали читать предложение, чтение которого вы уже заканчиваете.
#
Re: Корневые группы ИС как меню в каждой дочерней подгруппе
alexander.egorov, спасибо большое.
getAllByParent_id в API не нашел. В нем еще не все методы описаны?
Модератор
#
Re: Корневые группы ИС как меню в каждой дочерней подгруппе
http://www.hostcms.ru/documentation/modules/core/orm/
Методы-перехватчики
Core_Entity поддерживает удобные методы-перехватчики (где «FieldName» — имя столбца в таблице, «$value» — значение):
*    getByFieldName($value, $bCache = TRUE, $compare = '=' — возвращает один найденный объект или NULL
*    getAllByFieldName($value, $bCache = TRUE, $compare = '=' — возвращает массив с элементами или пустой массив;
*    getCountByFieldName($value, $bCache = TRUE, $compare = '=' — возвращает количество найденных элементов без выборки самих элементов.
Авторизация