Yandex Metrika
sanches.free

Ядро Bitrix D7: короткая шпаргалка для разработчика

Подключение окружения

В типовых шаблонах достаточно require $_SERVER['DOCUMENT_ROOT'].'/bitrix/header.php': он поднимает ядро, зарегистрированные модули и контекст запроса. Глобальные переменные старого стиля остаются ради совместимости, но новый код строится вокруг сервисов ядра и ORM вместо «магических» глобальных переменных.

Константы через Config

Настройки из /bitrix/.settings.php доступны методами \Bitrix\Main\Config\Option::get / Configuration::getValue, что упрощает чтение флагов модулей и сервисных параметров вне устаревшего массива $GLOBALS.

Операции над данными через ORM

Базовый каркас любой выборки: перечень полей, фильтры, порядок, лимиты и необходимость посчитать общее число строк. То же дерево параметров поддерживают обновление и добавление элементов высоких нагрузок и информационных блоков.

use Bitrix\Main\Loader;
use Bitrix\Main\UserTable;

Loader::includeModule('main');

$list = UserTable::getList([
    'select' => ['ID', 'LOGIN', 'EMAIL'],
    'filter' => ['=ACTIVE' => 'Y'],
    'order' => ['ID' => 'DESC'],
    'limit' => 40,
    'offset' => 0,
    'count_total' => true,
]);
$totalRows = $list->getCount();
$rows = $list->fetchAll();

Модули

Перед вызовом API конкретного решения нужно загрузить его через Loader::includeModule — иначе классы недоступны и автозагрузчик не находит нужные таблицы.

Не хотите копаться сами?

Починю за 1-3 дня. Без предоплаты — оплата по результату.

15+ лет опыта с 1С-Битрикс · Без предоплаты · 7 дней гарантии