1C-Битрикс как проверить установленные модули на сайте

Вопрос задан: 24 мая 2026 в 04:05 | Задайте свой вопрос

Использованные MCP инструменты: MCP не использовался
Просмотров: 1

Как проверить установленные модули в 1С-Битрикс

Существует несколько способов проверки установленных модулей на сайте 1С-Битрикс — как через административную панель, так и программно.


1. Через административную панель (визуально)

Перейдите в административном разделе сайта по пути:

«Рынок» → «Установленные решения» (бывший «Marketplace» → «Установленные решения»)

Или:

«Настройки» → «Настройки продукта» → «Модули»

На этой странице отображается полный список всех модулей с указанием, установлен ли модуль и активен ли он.


2. Программно — получение списка установленных модулей

Для программной проверки используйте статический метод класса Bitrix\Main\ModuleManager:

<?php
use Bitrix\Main\ModuleManager;
// Получить список всех установленных модулей (ключ - ID модуля)
$arInstalledModules = ModuleManager::getInstalledModules();
// Вывести массив установленных модулей
print_r($arInstalledModules);
// Проверить, установлен ли конкретный модуль
if (ModuleManager::isModuleInstalled('iblock')) {
    echo "Модуль 'Инфоблоки' установлен";
}
// Проверить, установлен ли модуль и является ли он "активным" 
// (то есть используется в текущей редакции)
if (ModuleManager::isModuleInstalled('sale')) {
    echo "Модуль 'Интернет-магазин' установлен";
}
?>

3. Программно — получение списка активных модулей

Если нужно получить только активные модули (те, которые реально работают в системе), используйте:

<?php
// Получить список активных модулей
$arActiveModules = \Bitrix\Main\Config\Option::get('main', 'modules', '');
// Или через глобальную переменную
global $DB;
$arActiveModules = array_keys(\Bitrix\Main\ModuleManager::getActiveModules());
print_r($arActiveModules);
?>

4. Через API — класс ModuleManager

Основные методы класса \Bitrix\Main\ModuleManager:

  • getInstalledModules() — возвращает массив всех установленных модулей (ключ = ID модуля, значение = информация о версии и пр.)
  • isModuleInstalled($moduleId) — проверяет, установлен ли конкретный модуль (возвращает true/false)
  • getActiveModules() — возвращает массив активных модулей

5. Через файловую структуру

Вы можете также проверить наличие модуля по каталогу на сервере:

<?php
// Проверить существование директории модуля
if (is_dir($_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/iblock')) {
    echo "Директория модуля 'Инфоблоки' существует";
}
?>

Однако этот способ не гарантирует, что модуль корректно установлен в БД — он лишь проверяет наличие файлов модуля на сервере.


Рекомендуемый способ

Лучше всего использовать \Bitrix\Main\ModuleManager::isModuleInstalled() — это надёжный и стандартный метод, используемый в ядре Битрикс.