Для вывода инфоэлементов в меню достаточно включить параметр showInformationsystemItems в Structure_Controller_Show. Однако в этом случае отображаются все элементы из подключенных инфосистем. Чтобы ограничить вывод только нужными инфосистемами, потребуется использовать специальный хук:
Core_Event::attach('Structure_Controller_Show.onBeforeFindInformationsystemItems', function(Structure_Controller_Show $oController, $args) { if (is_array($oController->showInformationsystemItems)) { list($oInformationsystem_Items, $parentObject, $oInformationsystem) = $args; if (!in_array($oInformationsystem->id, $oController->showInformationsystemItems)) { $oInformationsystem_Items->queryBuilder() ->limit(0); } }});
Тогда мы сможем указать в параметре showInformationsystemItems массив идентификаторов инфосистем, чтобы только из них выводились инфоэлементы
$Structure_Controller_Show->showInformationsystemItems([6])