+7 499 938 8452 пн.-пт. 10:00 – 17:00
← к карте

Старый API никуда не делся. CIBlockElement::GetList в легаси-коде будет встречаться ещё годы. Новый код лучше сразу писать в D7: ORM, EventManager, нормальные исключения вместо $DB->Query вперемешку с echo.

Смешивать оба стиля в одном файле можно, но тогда через полгода не понять, какая ветка живая. Правило простое: трогаете кусок — вытягиваете его в D7, остальное не переписываете «заодно».

ORM не отменяет индексы и не спасает от выборки всего каталога. Он спасает от строк, которые невозможно читать, и от опечаток в именах полей. Фильтры, runtime-поля, fetch — это тот же SQL, только в обёртке. Если страница тяжёлая, смотреть запрос, а не винить «новый API».

События D7 удобны, когда надо встать рядом с модулем, а не править его. Подписка в init.php на всё подряд — тот же хак, только красивее названный. Одна подписка, одна ответственность, лог если обмен мог сломаться.

Агенты и фоновые задания в D7 имеют нормальные точки входа. Если задача крутится часами и её повесили на хит страницы «пока админ открыл админку» — это не архитектура, это лотерея.

Каталог для ИИ