Битрикс D7 API
D7 — современное API 1С-Битрикс, которое пришло на смену старым `CModule` и глобальным функциям.
Подключение модуля
use BitrixMainLoader;
Loader::includeModule('iblock');
Работа с ORM
use BitrixIblockElementTable;
$result = ElementTable::getList([
'select' => ['ID', 'NAME', 'CODE'],
'filter' => ['IBLOCK_ID' => 1, 'ACTIVE' => 'Y'],
'limit' => 10,
]);
while ($element = $result->fetch()) {
echo $element['NAME'];
}
Обработка событий
use BitrixMainEventManager;
EventManager::getInstance()->addEventHandler(
'iblock',
'OnBeforeIBlockElementUpdate',
function (&$arFields) {
// ваш код
}
);
Кэширование
$cache = BitrixMainDataCache::createInstance();
if ($cache->initCache(3600, 'my_cache_key', '/my/cache/dir')) {
$data = $cache->getVars();
} else {
$data = getHeavyData();
$cache->startDataCache();
$cache->endDataCache($data);
}
Откажитесь от `CIBlockElement::GetList` в новых проектах в пользу ORM и `BitrixIblockElementTable`.