Блог
Вывод инфоэлементов из одноименных групп
Допустим, у вас существует несколько инфосистем, в каждой из которых есть группы с одинаковыми названиями, например, "Информация". И вы хотите, чтобы на главной выводились элементы из групп "Информация".
Вставьте следующий код в нужное вам место в макете.
if (Core::moduleIsActive('informationsystem')) { $groupName = 'Информация'; $xslName = 'СписокЭлементовИнформация'; $oSystem = Core_Entity::factory('Informationsystem'); $Informationsystem_Controller_Show = new Informationsystem_Controller_Show($oSystem); $oGroups = Core_Entity::factory('informationsystem_group'); $oGroups->queryBuilder() ->where('name', '=', $groupName); $aoGroups = $oGroups->findAll(); if (count($aoGroups)) { $aGroups = array(); foreach($aoGroups as $oGroup) { $aGroups[] = $oGroup->id; } $oItems = Core_Entity::factory('informationsystem_item'); $oItems->queryBuilder() ->where('informationsystem_group_id', 'IN', $aGroups); $aoItems = $oItems->findAll(); foreach($aoItems as $oItems) { $Informationsystem_Controller_Show->addEntity($oItems); } $Informationsystem_Controller_Show->xsl( Core_Entity::factory('Xsl')->getByName($xslName) ) ->groupsMode('none') ->show(); } }
Где:
1. Переменная $groupName это название группы
2. Переменная $xslName это название xsl шаблона, который будет отвечать за отображение выбранных инфоэлементов.