В Bitrix Framework нет готового метода для получения списка подключенных на странице компонентов. Однако, вы можете попробовать реализовать это самостоятельно, используя обработчики событий и глобальную переменную.
Вот пример того, как это можно сделать:
1. Создайте файл init.php в папке /bitrix/php_interface/, если его еще нет.
2. В файле init.php добавьте следующий код:
// Объявление глобальной переменной
global $connectedComponents;
$connectedComponents = [];
// Функция-обработчик для события 'OnBeforeProlog'
function storeConnectedComponents(&$arFields) {
global $connectedComponents;
if (isset($arFields["COMPONENT_NAME"]) && isset($arFields["TEMPLATE_NAME"])) {
$component = [
'component' => $arFields["COMPONENT_NAME"],
'template' => $arFields["TEMPLATE_NAME"],
'params' => $arFields["PARAMETERS"],
];
$connectedComponents[] = $component;
}
}
// Регистрация обработчика события 'OnBeforeProlog'
AddEventHandler("main", "OnBeforeProlog", "storeConnectedComponents");
Этот код создает глобальную переменную $connectedComponents, которая будет хранить информацию о подключенных компонентах. Затем мы регистрируем обработчик события OnBeforeProlog, который будет вызываться перед выводом компонента на странице. Обработчик сохраняет информацию о компоненте в глобальной переменной $connectedComponents.
Теперь, когда вы захотите получить список подключенных компонентов на странице, вы можете обратиться к глобальной переменной $connectedComponents:
global $connectedComponents;
print_r($connectedComponents);
это может быть полезным временным решением для получения списка компонентов на странице.